Ram*_*dka 1 java mysql spring jpa spring-boot
我想在我的自定义查询中实现 Pageable。下面是我正在使用的代码。sql 是虚拟查询。有人可以告诉我如何计算总行数,最后一个元素吗?
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()
Run Code Online (Sandbox Code Playgroud)
我想要总数,但我使用的限制只会给出那么多。我可以无限制地使用相同的查询来计算总行数,但查询非常大,我不想两次运行相同的查询来获取总计数并计算行数。我真的很感激你的帮助。
为什么不使用 JPA 提供的分页?
query.setFirstResult(firstIndex);
query.setMaxResults(firstIndex + pageSize);
Run Code Online (Sandbox Code Playgroud)
那么LIMIT在sql中不需要子句:
String sql="select DISTINCT student.studentId from student where ..."
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4489 次 |
| 最近记录: |