簡體   English   中英

createNativeQuery中的分頁

[英]Pagination in createNativeQuery

我想在我的自定義查詢中實現Pageable.Below是我正在使用的代碼.sql是虛擬查詢。有人請告訴我如何計算總行數,來自下面的元素?

EntityManager em = OpenJPAUtils.openEntityManager();
String sql="select DISTINCT student.studentId from student where ... LIMIT  :limit OFFSET  :offSet ; "  
query = em.createNativeQuery(sql);
query.setParameter("limit", pageable.getPageSize());
query.setParameter("offSet", pageable.getPageNumber());
query.getResultList()

我想要總數,但我使用的限制只會給予這么多。 我可以無限制地使用相同的查詢來計算總行數,但查詢非常大,我不想運行相同的查詢兩次以獲得總計數並計算行數。 我真的很感激幫助。

為什么不使用JPA提供的分頁?

query.setFirstResult(firstIndex);
query.setMaxResults(firstIndex + pageSize);

然后在sql中不需要LIMIT子句:

String sql="select DISTINCT student.studentId from student where ..."  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM