JPA 2 CriteriaQuery,使用一个限制

我正在使用JPA 2.出于安全原因,我正在使用CriteriaQuery的安全types(因此,我不search任何types查询的解决scheme等)。 我最近遇到了一个需要设置SQL-LIMIT的问题。

经过大量的search,我仍然没有find解决scheme。

CriteriaQuery<Product> query = getEntityManager().getCriteriaBuilder().createQuery(Product.class); Root<Product> product = query.from(Product.class); query.select(product); return em.createQuery(query).getResultList(); 

谁能帮我?

在查询上定义限制和偏移 :

 return em.createQuery(query) .setFirstResult(offset) // offset .setMaxResults(limit) // limit .getResultList(); 

从文档:

TypedQuery setFirstResult(int startPosition)

设置要检索的第一个结果的位置。 参数: startPosition – 第一个结果的位置,从0开始编号

TypedQuery setMaxResults(int maxResult)

设置要检索的最大结果数量。