为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理 JPA 中的分页(标准和谓词)

如何处理 JPA 中的分页(标准和谓词)

饮歌长啸 2021-10-17 10:21:42
我正在使用标准和谓词从数据库中获取结果,并得到了结果列表,我正在尝试应用分页和排序,但它不起作用。请帮助我在哪里我失踪,这是我的代码:private Page<Books> getFiltereBooks(Params params,            PageRequest sortOrder) {        CriteriaBuilder builder =  em.getCriteriaBuilder();        CriteriaQuery<Books> criteria = builder.createQuery(Books.class);        Root<Books> booksRoot = criteria.from(Books.class);        List<Predicate> predicates = new ArrayList<Predicate>();            predicates.add(builder.equal(booksRoot.get("id"), params.getRequestId()));            predicates.add(builder.like(builder.lower(booksRoot.get("name")),                     "%" + params.getName().toLowerCase() + "%"));        criteria.where(builder.and(predicates.toArray( new Predicate[predicates.size()])));            criteria.orderBy(builder.desc(booksRoot.get("id")));        List<Books> result = em.createQuery(criteria).getResultList();        int total = result.size();        Page<Books> result1 = new PageImpl<>(result, sortOrder, total);        return result1;    }当我使用此代码时:Page<Books> result1 = new PageImpl<>(result, sortOrder, total);它不起作用,我想返回一个页面对象。任何帮助表示赞赏。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信