Я получаю результаты DB, используя критерии и предикаты, и я получил свой список результатов, и я пытаюсь применять страницу и сортировку, но это не работает. Пожалуйста, помогите мне, где мне не хватает, вот мой код: < /p>
private Page getFiltereBooks(Params params,
PageRequest sortOrder) {
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery criteria = builder.createQuery(Books.class);
Root booksRoot = criteria.from(Books.class);
List
predicates = new ArrayList();
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 result = em.createQuery(criteria).getResultList();
int total = result.size();
Page result1 = new PageImpl(result, sortOrder, total);
return result1;
}
< /code>
Когда я использую этот код: < /p>
Page result1 = new PageImpl(result, sortOrder, total);
< /code>
Это не работает, я хочу вернуть объект страницы. любая помощь ценится.
Подробнее здесь: https://stackoverflow.com/questions/525 ... predicates