问:我想要总计数,但我所用的限制只会给那么多。我可以使用相同的查询,无限制地计算总行数,但查询非常大,我不想两次运行相同的查询以获得总计数并计算行。 我真的很感激帮助。
EntityManager em = OpenJPAUtils.openEntityManager();
String sql="select DISTINCT student.studentId from student where ... LIMIT :limit OFFSET :offSet ; "
query = em.createNativeQuery(sql);
query.setParameter("limit", pageable.getPageSize());
query.setParameter("offSet", pageable.getPageNumber());
query.getResultList()
答:为什么不使用JPA提供的分页?
query.setFirstResult(firstIndex);
query.setMaxResults(firstIndex + pageSize);
然后无需LIMIT子句中的SQL:
String sql="select DISTINCT student.studentId from student where ..."