jpa 2.0 -在jpa中遍历结果列表并设置firstResult,maxResults



我有一个查询,它给出了大的结果假设它是1,00,000。我需要在UI的网格中显示所有这些记录。所以我使用

TypedQuery<Object> typedQuery =  entityManager.createQuery(cq); 
   typedQuery.setFirstResult(0);
   typedQuery.setMaxResults(1000);
List<Object> resultList = typedQuery.getResultList();

当执行这个查询时,我只能在UI中看到1000条记录。它没有获取下一组结果。但我需要看到所有的记录,无论查询返回。我怎么能这么做呢?谁能告诉我。这件事对我来说很紧急。我正在使用JPA标准API

如果您想要所有内容而不仅仅是前1000个结果,为什么要调用setFirstResult()setMaxResults() ?删除它们,查询将检索所有内容:

TypedQuery<Object> typedQuery = entityManager.createQuery(cq); 
List<Object> resultList = typedQuery.getResultList();

如何获取下一组结果?

如果你按原样使用你的帖子中显示的查询,你将总是得到前1000条记录,因为这就是你要问的。

您需要通过将setFirstResult设置为0然后1000然后2000等等来重复调用此查询,直到结果列表为空。

最新更新