Maison > Java > javaDidacticiel > Comment limiter les résultats des requêtes dans JPQL/HQL ?

Comment limiter les résultats des requêtes dans JPQL/HQL ?

Linda Hamilton
Libérer: 2025-01-04 20:53:44
original
285 Les gens l'ont consulté

How to Limit Query Results in JPQL/HQL?

Requêtes de limite JPQL/HQL

Dans Hibernate 3, vous pouvez rencontrer le besoin d'effectuer une requête de limite, similaire à la clause LIMIT de MySQL. Bien que la méthode setMaxResults() puisse être utilisée, vous recherchez une alternative HQL.

Fonctionnalité historique

Les anciennes versions d'Hibernate/HQL autorisent l'utilisation de la clause LIMIT dans les requêtes HQL. Cependant, cette fonctionnalité n'était pas officiellement prise en charge et a été éliminée dans les versions ultérieures.

Solution actuelle

L'approche recommandée pour les requêtes limites en JPQL ou HQL consiste à utiliser le Méthode Query.setMaxResults(). Cette méthode définit le nombre maximum de résultats qui seront renvoyés par la requête et limite efficacement le nombre d'enregistrements récupérés.

Considérez la requête HQL suivante utilisant setMaxResults() :

Query query = session.createQuery("from ATable order by aTableColumn desc");
query.setMaxResults(20);
List results = query.list();
Copier après la connexion

Cette La requête récupère un maximum de 20 lignes de l'ATable, en les classant par ordre décroissant selon le champ aTableColumn.

En résumé, l'utilisation de la clause LIMIT dans JPQL ou HQL n'a jamais été officiellement prise en charge et a été supprimée dans les versions plus récentes. L'alternative recommandée consiste à utiliser la méthode Query.setMaxResults() pour limiter le nombre de résultats renvoyés par une requête.

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