我有一个查询,它给出了大的结果,假设它是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。
答案 0 :(得分:0)
如果您想要所有内容而不仅仅是前1000个结果,为什么要拨打setFirstResult()
和setMaxResults()
?删除它们,查询将检索所有内容:
TypedQuery<Object> typedQuery = entityManager.createQuery(cq);
List<Object> resultList = typedQuery.getResultList();
答案 1 :(得分:0)
您是如何尝试获取下一组结果的?
如果您按原样使用帖子中显示的查询,您将始终获得前1000条记录,因为这就是您所要求的。
您需要重复调用此查询,方法是将setFirstResult
设置为0然后将1000设置为2000,依此类推,直到结果列表为空。