Comment utiliser LIMIT au printemps dans la requête sql?
De toute façon je ne peut pas utiliser le LIMIT
qualifier dans une requête sql à l'aide de Spring-data-jpa
:
@Query("SELECT p from Person p WHERE p.company.id = :id ORDER BY p.name DESC LIMIT 3")
Quel est le problème ici?
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: Limit near line 1, column 146
at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:91)
at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:109)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:304)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:126)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1800)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
... 48 more
source d'informationauteur membersound
Vous devez vous connecter pour publier un commentaire.
LIMIT
ne fait pas partie de JPQL. Le mécanisme disponible dans la version actuelle version (1.6.0.LIBÉRATION, du temps de l'écriture) est pagination:Cela peut ensuite être utilisé comme suit:
Ce sera le retour de la dix premiers résultats de la requête définie dans le
@Query
annotation.L'actuel maître de la branche de Spring Data JPA contient déjà une nouvelle fonctionnalité qui vous permettra de réécriture de requête ci-dessus comme suit:
De la version 1.7.0.M1 (fonction déjà disponible dans instantanés) la requête de dérivation, le mécanisme de comprendre
Top
etFirst
dans le sujet de la clause de limiter le nombre de résultats retournés.