Limite findAll possible avec le Printemps?
Est-il possible avec des Ressorts automatique de la mise en œuvre des référentiels de limiter la taille de résultat de la méthode findAll?
Je suis en train d'essayer d'avoir quelque chose comme ce qui suit déclarées dans l'interface:
List<XY> findAllTopTen();
Malheureusement, il ne fonctionne pas (de cette façon)...
"il ne fonctionne pas (de cette façon)" - quoi t - il travailler dans, alors? De modifier une question à inclure cette information.
OriginalL'auteur yogiginger | 2015-10-08
Vous devez vous connecter pour publier un commentaire.
Passer un
Pageable
comme un paramètre comme suit:Page<x> findAll(Pageable pageable);
OriginalL'auteur Ali Dehghani
Si vous n'avez pas un
Pageable
objet qui est venu à partir de votre contrôleur et juste besoin d'obtenir une quantité X d'objets de DB, vous pouvez effectuer les opérations suivantes:Tout d'abord, le Référentiel de la classe doit étendre
JpaRepository<T, ID>
il wil être capable de faire une requête à l'aide d'un Paginable objet.Deuxièmement, vous pouvez définir un Paginable objet de cette façon:
Dans ce cas, la requête retourne les 10 premiers objets.
Vous pouvez trouver plus d'info ici (faites Défiler jusqu'à l'article 4.1, Exemple 4)
Notez que l'exemple s'étend en fait
PagingAndSortingRepository
maisJpaRepository
contient toutes les méthodes dePagingAndSortingRepository
et a des fonctions supplémentaires aswell.Edit: Merci à @Zunnii pour préciser que
new PageRequest()
est maintenant obsolète. J'ai édité l'extrait ci-dessus pour refléter cela.PageRequest.of(0, 10)
à la place.OriginalL'auteur dubonzi
Vous devez explicitement spécifier la commande, sinon Spring Data JPA n'a aucun moyen de décider quelles sont les critères qu'il doit utiliser. Par exemple:
Voir plus de détails dans la la documentation officielle.
OriginalL'auteur kryger