我正在使用标准和谓词从数据库中获取结果,并得到了结果列表,我正在尝试应用分页和排序,但它不起作用。请帮助我在哪里我失踪,这是我的代码: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);它不起作用,我想返回一个页面对象。任何帮助表示赞赏。
添加回答
举报
0/150
提交
取消