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();
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!