Comment combiner la pagination avec une requête de critères dans Spring Data JPA?
- Je utiliser PagingAndSortingRepository et findAll(Paginable paginable) méthode d'échange de mes données. Je pense qu'il n'y a aucun moyen de fournir n'importe quelle condition. Par exemple, parfois je veux sélectionner et d'échange des adresses où ville=new york. Est-il possible de fournir de l'état et de la pagination à la fois?
source d'informationauteur Mariusz
Vous devez vous connecter pour publier un commentaire.
La
PagingAndSortingRepository
ajoute juste la très de base des méthodes CRUD dans la pagination mode. Comme le la documentation de référence décrit, vous pouvez simplement ajouter unPageable
paramètre d'une méthode de requête que vous définissez pour atteindre la pagination de cette requête.La première méthode retourne un
Page
contenant la page de métadonnées comme le nombre total d'éléments de etc. Pour calculer ces données, il sera le déclencheur d'une supplémentaire à compter de la requête pour la requête dérivée. La deuxième méthode de requête renvoie la plaine des tranches d'ensemble de résultats, sans compter requête en cours d'exécution.Pour la Pagination vous avez besoin de 2 méthodes comme getCount(Paginable paginable) et findAll(Paginable paginable)
L'utilisation de cette fonctionnalité de mise en veille prolongée, cependant, est trivial. Si vous avez une requête HQL vous pouvez simplement faire ceci:
De même, si vous avez une requête de Critères, c'est effectivement la même chose: