jpa分页不工作

jpa分页不工作,jpa,pagination,Jpa,Pagination,我正在尝试使用jpa和eclipselink作为提供者来测试分页。 我的问题是:我们可以使用相同的查询,还是在每次对新页面收费时创建一个新的查询? 在这段代码中,我使用相同的查询,但它不起作用,它对第一页收费并停止。 代码如下: EntityManager emOld = emfOld.createEntityManager(); Query query = emOld.createQuery("Select o from Order o order by o.id"); int pageSi

我正在尝试使用jpa和eclipselink作为提供者来测试分页。 我的问题是:我们可以使用相同的查询,还是在每次对新页面收费时创建一个新的查询? 在这段代码中,我使用相同的查询,但它不起作用,它对第一页收费并停止。 代码如下:

EntityManager emOld = emfOld.createEntityManager();
Query query = emOld.createQuery("Select o from Order o order by o.id");

int pageSize = 500;
int firstResult = 0;
query.setFirstResult(firstResult);
query.setMaxResults(pageSize);

List<Order> orders = query.getResultList();
boolean done = false;
while (!done) {
    if (orders.size() < pageSize) {
        done = true;
    }

    EntityManager em = emf.createEntityManager();
    em.getTransaction().begin();

    for (Order order : orders) {
        em.persist(order);          
    }
    em.getTransaction().commit();
    em.close();
    firstResult = firstResult + pageSize;
    query.setFirstResult(firstResult);
    if (!done) {
        orders = query.getResultList();
    }
}
EntityManager emOld=emfOld.createEntityManager();
Query Query=emOld.createQuery(“从订单中选择o,按o.id排序”);
int pageSize=500;
int firstResult=0;
query.setFirstResult(firstResult);
query.setMaxResults(页面大小);
List orders=query.getResultList();
布尔完成=假;
而(!完成){
if(orders.size()

想寻求帮助

您是遇到异常还是代码不起作用,结果是什么代码不起作用:我们只有前500个对象和第二个调用query。getResultList()什么都不做!你有没有找到解决这个问题的办法?我在这里也经历过