0

我有一个查询,它给出的结果很大,假设它是 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。

4

2 回答 2

0

您如何尝试获取下一组结果?

如果您按原样使用帖子中显示的查询,您将始终获得前 1000 条记录,因为这就是您所要求的。

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

于 2012-12-24T07:12:38.513 回答
0

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

TypedQuery<Object> typedQuery = entityManager.createQuery(cq); 
List<Object> resultList = typedQuery.getResultList();
于 2012-12-22T09:06:15.937 回答