2010-08-06 4 views
0

SELECT DISTINCT TOP 10 o.MaterialNumber de MaterialCreation_MDO o où o.MaterialGroup =? 1 et o.Noun =? 2 et comme o.MaterialNumber? 3 commande par o.MaterialNumber descEJB-QL exception

cette requête lance une exception en rencontrant le mot clé 'TOP' dans l'instruction ejb-ql ....

Répondre

0

TOP n'est pas reconnu dans EJB-QL, utilisez plutôt LIMIT.

Vous pouvez la requête modifiée ci-dessous:

select DISTINCT o.MaterialNumber from MaterialCreation_MDO o where o.MaterialGroup= ?1 and o.Noun= ?2 and o.MaterialNumber like ?3 order by o.MaterialNumber desc LIMIT 10; 

ou bien vous pouvez donner explicitement le nombre de résultats à extraites par:

entityManager.createNativeQuery(query,YourClass.class).setParameter("name",value).setMaxResults(10).getResultList(); 

NamedQuery sera également très bien.