我需要为我的 Hibernate 应用程序添加分页器。我通过设置 Projection.count() 将它应用于我使用 Criteria 执行的一些数据库操作。这工作正常。
但是当我使用 hql 查询时,我似乎无法获得有效的方法来获取结果计数。
如果我执行 query.list().size()
会花费很多时间,而且我认为 hibernate 会加载内存中的所有对象。
任何人都可以建议一种在使用 hql 时检索结果计数的有效方法吗?
最佳答案
您将不得不使用另一个查询和 Query#iterate()
.参见 14.16. Tips & Tricks 部分:
You can count the number of query results without returning them:
( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue()
关于java - Hibernate Hql 查找分页器的结果大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2643470/