永发信息网

JPA分页查询怎么做

答案:3  悬赏:0  手机版
解决时间 2021-01-08 18:26
  • 提问者网友:疯孩纸
  • 2021-01-08 06:11
JPA分页查询怎么做
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-01-08 06:39
NamedQuery(返回方式为列模式[原生态sql的复杂查询])
1)dao层处理查询并分页
Java代码
1. @SuppressWarnings("unchecked")
2. public PageResult getList(Integer currentPage){
3. PageResult pageResult = new PageResult();
4. int pageSize = Constant.DEFAULT_PAGE_SIZE;
5. int start = (currentPage - 1) * pageSize;
6. Query query = getEntityManager().createNamedQuery("ReturnTrainAppyUser");
7. int total = query.getResultList().size();
8. // 判断分页
9. if (start < total && pageSize > 0) {
10. query.setFirstResult(start);
11. query.setMaxResults(pageSize);
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-01-08 09:44
JPA的Query里面有2个方法setFirstResult setMaxResults
通过这2个方法可以实现分页查询
  • 2楼网友:归鹤鸣
  • 2021-01-08 08:06

用JpaCallback类,此类可以调用到EntityManager对象,然后通过query的setFirstResult   setMaxResults方法分页。
要注意Query是下面这个类import javax.persistence.Query;。不是hibernate的Query。
举个例子:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯