Maison > Java > javaDidacticiel > le corps du texte

Comment limiter les résultats dans les méthodes de requête Spring-Data-JPA ?

Mary-Kate Olsen
Libérer: 2024-10-28 02:42:02
original
946 Les gens l'ont consulté

How to Limit Results in Spring-Data-JPA Query Methods?

Comment utiliser l'annotation setMaxResults dans Spring-Data-JPA

Votre question concerne la définition du nombre maximum de résultats renvoyés par une méthode de requête dans Spring-Data-JPA à l'aide d'annotations.

Solution

Depuis Spring Data JPA 1.7.0 (Evans release train) a introduit les mots-clés Top et First, vous pouvez définir méthodes de requête comme celle-ci :

findTop10ByLastnameOrderByFirstnameAsc(String lastname);
Copier après la connexion

Spring Data limitera automatiquement les résultats au nombre spécifié (par défaut à 1 en cas d'omission). N'oubliez pas que l'ordre des résultats devient important dans ce cas.

Versions précédentes

Dans les versions antérieures, Spring Data utilisait l'abstraction de pagination pour récupérer des tranches de données. Voici comment l'utiliser :

public interface UserRepository extends Repository<User, Long> {

  List<User> findByUsername(String username, Pageable pageable);
}

//...

Pageable topTen = new PageRequest(0, 10);
List<User> result = repository.findByUsername("Matthews", topTen);
Copier après la connexion

Si vous avez besoin du contexte du résultat, vous pouvez utiliser Page comme type de retour :

public interface UserRepository extends Repository<User, Long> {

  Page<User> findByUsername(String username, Pageable pageable);
}

//...

Pageable topTen = new PageRequest(0, 10);
Page<User> result = repository.findByUsername("Matthews", topTen);
Assert.assertThat(result.isFirstPage(), is(true));
Copier après la connexion

Notez que l'utilisation de Page comme type de retour déclenchera une projection de comptage pour déterminer le nombre total d'éléments.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!