限制JPQL结果的数量

如何限制从数据库中检索结果的数量?

select e from Entity e /* I need only 10 results for instance */ 

你可以尝试这样的10个结果被明确提取。

 entityManager.createQuery(JPQL_QUERY) .setParameter(arg0, arg1) .setMaxResults(10) .getResultList(); 

它会自动在后端创build本地查询来检索特定数量的结果,如果后端支持它,否则在获得所有结果后在内存中进行限制。

您也可以使用setFirstResult()来设置偏移量

  em.createNamedQuery("Entity.list") .setFirstResult(startPosition) .setMaxResults(length);