2011-01-26 65 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