No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Ordenando la información paginada

16/25
Recursos

Aportes 9

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Siempre el uso de los QueryMethods son de mayor utilidad a la hora de personalizar nuestras consultas hacia la base de datos, y la utilidad de poder retornar una sublista de una lista de objetos como lo es **Page ** nos da la posibilidad de paginar las respuestas y adicional agregar una dirección de ordenamiento ascendente o descendente, que buena clase Profesor Alejandro.

voy a resumir este curso en tres palabras MA GIS TRAL

Vengo del futuro y esto les servirá:
Recuerden que el valor por defecto de la dirección cuando se usa Sort es ASC.

La paginación tambien se puede combinar con los query methods enviando muchos parametros <https://www.baeldung.com/spring-data-jpa-pagination-sorting>

En la clase se utiliza el `Sort` para ordenar la información paginada. El `Sort` se importa como `import org.springframework.data.domain.Sort;`, lo que permite definir el orden de los resultados en base a los campos especificados. Además, puedes personalizar el orden (ascendente o descendente) al crear un objeto `Sort` usando `Sort.by()` y `Sort.Direction`. Esto te permite tener un control dinámico sobre cómo se ordenan los elementos en tu consulta.
Genial!!! Me parece increíble poder adaptar la consulta desde el mismo endpoint, de esta forma, ya no debemos especificar el ordenamiento en los querymethods, lo que a mi entender nos ahorra código y hace que el requerimiento sea mas interactivo y funcional.
Excelente curso

Otras implementacioens de la clase Sort


      public Page<EmployeeEntity> getAllDepInAndHireDateUp(LocalDate date, List<Long> dep, int page, int size){
		return this.emp3Rep.buscarFechaSupInDepartmentJpql(date, dep, PageRequest.of(page, size, Sort.by(Order.desc("id"))));
	}
	public Page<EmployeeEntity> getAllSalarylessThanAndJoIDInSort(Double salary, List<String> jobId, int page, int size){
		return this.emp3Rep.c(salary, jobId,PageRequest.of(page, size, Sort.by(Direction.ASC, "firstName" , "lastName")));
	}  
	public Page<EmployeeEntity> getAllManagerId(Long managerId, int page, int size){
		return this.emp3Rep.buscarEmpleadoJefeIdEqualAndOrder(managerId, PageRequest.of(page, size, Sort.by("firstName").ascending().and
				                                                                                   (Sort.by("lastName").descending())));
	}