Bonjour à tous.

Voila j'ai une requête assez simple, qui utilise un LIMIT, mais à l'exécution, voila l'erreur qu'il me renvoit :

8-07 20:43:00,068 ERROR [cessor23] "Servlet.service()" pour la servlet admin a lancé une exception @[/webclient].[admin]:704
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: LIMIT near line 8, column 31 [SELECT ps
FROM com.orange.openfoundation.server.beans.ProfileStyle ps, com.orange.openfoundation.server.beans.OpenMusicProfile op, com.orange.openfoundation.server.beans.Openmusicspace os
WHERE ps.omOpenMusicProfile.openMusicProfilId = op.openMusicProfilId
AND op.ofIdentity.identityId = os.ownerId
AND os.blocked = false
AND op.omProfileType.profileTypeId = rofileTypeId
AND ps.profileStyleItemId = rofileStyleItemId
order by ps.openMusicProfilId LIMIT 0,25]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:31)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:24)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)



Voilà mon code java DAO qui prépare la requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
StringBuffer lQuery = new StringBuffer();
 
		lQuery.append("SELECT ps \n");
		lQuery.append("FROM ProfileStyle ps, OpenMusicProfile op, Openmusicspace os \n");
		lQuery.append("WHERE ps.omOpenMusicProfile.openMusicProfilId = op.openMusicProfilId \n");
		lQuery.append("AND op.ofIdentity.identityId = os.ownerId \n");
		lQuery.append("AND os.blocked = false \n");
		lQuery.append("AND op.omProfileType.profileTypeId = :ProfileTypeId \n");
		lQuery.append("AND ps.profileStyleItemId = :ProfileStyleItemId \n");
		lQuery.append("order by ps.openMusicProfilId");
		lQuery.append(" LIMIT "+ start +","+ number);
 
		Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
		Query hql = session.createQuery(lQuery.toString());
		hql.setLong("ProfileTypeId", profileTypeId.longValue());
		hql.setLong("ProfileStyleItemId", profileStyle.getProfileStyleItemId().longValue());
 
		return hql.list();
Je pense que c'est un truc tout bête, mais la je ne comprend pas, surtout que je l'ai utilisé ailleurs sans problème...

SVP help me !