72 votes

Comment les données de la requête via Spring data JPA par tri et paginable à la fois hors de la boîte?

Je suis en train de Printemps ata JPA dans mon projet.Veux savoir est-il une zone de l'API pour les données de la requête par les deux de tri et de paginable. Bien sûr, je sais que je peux écrire la méthode par moi-même, je veux juste savoir est-il un OOTB un. Mon DAO s'étend JpaRepository, et je l'ai trouvé il y a les méthodes suivantes peut invoquer:

findAll();
findAll(Pageable pageable);
findAll(Sort sort);

Mais aucune méthode findAll(Tri,Paginable),je suis curieux.

161voto

Tomasz Nurkiewicz Points 140462

Il y a deux façons d'y parvenir:

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);

Comme vous pouvez le voir la deuxième forme est plus flexible car il permet de définir les différents sens de chaque propriété (lastName ASC, salary DESC).

15voto

gkamal Points 9679

Paginable a une option pour spécifier sorte aussi bien. De la java doc

PageRequest(int page, int size, Sort.Direction direction, String... properties) 
          Creates a new PageRequest with sort parameters applied.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X