2011-01-26 3 views
3

Je suis en train d'utiliser la requête nommée avec la pagination des éléments, mais je ne suis pas un expert de la base de données et les réponses que j'ai trouvé n'a pas aidé beaucoup, sera reconnaissant pour l'aide, le code:requête nommée et la pagination

@Entity 
@NamedQueries({ 
    @NamedQuery(name = "Object.byName", query = "select a from OBJECT a where a.name=?"), 

}) 

utilisant: findByNamedQuery("Object.byName", a);

Je sais que je dois utiliser setFirstResult(x); et setMaxResults(y); mais comment les utiliser avec findByNamedQuery.

Répondre

7

Vous devez travailler avec le gestionnaire de session/entité directement:

Query q = entityManager.createNamedQuery("Object.byName"); 
q.setFirstResult(x); 
q.setMaxResults(pageSize); 
//set the parameters here 
return q.list(); 

Ceci est la syntaxe JPA, mise en veille prolongée est de presque la même chose.

+0

@seismael - utilisez-vous HibernateTemplate de Spring? – Bozho

Questions connexes