2011-01-26 68 views
3

我试图使用命名的查询与元素的分页,但我不是一个数据库专家,我发现答案并没有太大的帮助,将是感谢一些帮助,代码:命名查询和分页

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

}) 

使用:findByNamedQuery("Object.byName", a);

我知道我需要使用setFirstResult(x);setMaxResults(y);但如何将其与findByNamedQuery使用。

回答

7

您需要直接与会话/实体管理器的工作:

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

这是JPA语法,Hibernate的几乎是相同的。

+0

@seismael - 你使用spring的HibernateTemplate吗? – Bozho 2011-01-26 21:40:26