13

也许这是一个愚蠢的问题,但我在文档中找不到答案:How can set a limit to the CriteriaQuery using JPA2?

谢谢

4

3 回答 3

21

CriteriaQuery 不是可执行查询。您需要首先使用创建 TypedQuery EntityManager.createQuery(criteriaQuery)。然后,您可以设置它的最大结果并执行它。

于 2010-09-09T18:04:34.693 回答
12

您可以像这样定义偏移量/限制:

return em.createQuery(query)
     .setFirstResult(offset) // offset
     .setMaxResults(limit) // limit
     .getResultList();
于 2014-05-07T09:54:13.077 回答
0

我通常使用:

em.createQuery(criteria).setFirstResult(offset).setMaxResults(max).getResultList();
于 2016-01-30T15:47:23.713 回答