предел гибернации jpa 2 (максимальное количество результатов) для CriteriaQuery - PullRequest
10 голосов
/ 09 сентября 2010

возможно, это глупый вопрос, но я не могу найти ответ в документации: Как установить ограничение для CriteriaQuery с использованием JPA2?

Спасибо

Ответы [ 3 ]

20 голосов
/ 09 сентября 2010

CriteriaQuery не является исполняемым Query. Сначала вам нужно создать TypedQuery, используя EntityManager.createQuery(criteriaQuery). Затем вы можете установить максимальные результаты этого и выполнить его.

8 голосов
/ 07 мая 2014

Вы можете определить смещение / предел следующим образом:

return em.createQuery(query)
     .setFirstResult(offset) // offset
     .setMaxResults(limit) // limit
     .getResultList();
0 голосов
/ 30 января 2016

Я обычно использую:

em.createQuery(criteria).setFirstResult(offset).setMaxResults(max).getResultList();
...