Comment interroger des données hors de la boîte en utilisant JPA de données Spring à la fois par Sort et Pageable?

J’essaie JPA de données de spring dans mon projet. Je veux savoir s’il existe une API Pageable pour interroger les données, à la fois par Sort et Pageable . Bien sûr, je sais que je peux écrire cette méthode moi-même, je veux juste savoir s’il existe une méthode prête à l’emploi. Mon DAO étend JpaRepository et j’ai trouvé les méthodes suivantes que je peux appeler:

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

Mais il n’y a pas de méthode telle que findAll(Sort sort, Pageable pageable) , donc je suis curieux.

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 seconde forme est plus flexible car elle permet de définir des directions différentes pour chaque propriété ( lastName ASC, salary DESC ).

Pageable a une option pour spécifier le sorting aussi. De la doc java

 PageRequest(int page, int size, Sort.Direction direction, Ssortingng... properties) 

Crée un nouveau PageRequest avec les parameters de sorting appliqués.