gpt4 book ai didi

java - createNativeQuery 中的分页

转载 作者:行者123 更新时间:2023-11-29 05:06:34 28 4
gpt4 key购买 nike

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);

那么在 sql 中就不需要 LIMIT 子句了:

String sql="select DISTINCT student.studentId from student where ..."  

关于java - createNativeQuery 中的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46706459/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com