java - ejemplos - spring data jpa ejemplo
¿Cómo consultar los datos de forma inmediata utilizando JPA de datos de Spring tanto por Sort como por Pageable? (2)
Estoy probando JPA de datos de primavera en mi proyecto. Quiero saber si hay una API lista para Pageable
para consultar datos, tanto por Sort
como por Pageable
. Por supuesto, sé que puedo escribir ese método yo solo, solo quiero saber si hay uno listo para usar. Mi DAO extiende JpaRepository
, y encontré que existen los siguientes métodos que puedo invocar:
findAll();
findAll(Pageable pageable);
findAll(Sort sort);
Pero no existe un método como findAll(Sort sort, Pageable pageable)
, así que tengo curiosidad.
Hay dos formas de lograr esto:
final PageRequest page1 = new PageRequest(
0, 20, Direction.ASC, "lastName", "salary"
);
final PageRequest page2 = new PageRequest(
0, 20, new Sort(
new Order(Direction.ASC, "lastName"),
new Order(Direction.DESC, "salary")
)
);
dao.findAll(page1);
Como puede ver, el segundo formulario es más flexible, ya que permite definir diferentes direcciones para cada propiedad ( lastName ASC, salary DESC
).
Pageable tiene una opción para especificar el género también. Del doc de java
PageRequest(int page, int size, Sort.Direction direction, String... properties)
Crea una nueva PageRequest con parámetros de clasificación aplicados.