java - Hibernate Hql 查找分页器的结果大小

标签 java hibernate orm pagination hql

我需要为我的 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/

相关文章:

从 IntelliJ IDEA 运行 Mule 应用程序时出现 java.lang.ClassNotFoundException

java - 如何在 Spring 更新时显示 <input> 文本字段中的属性值?

orm - 使用 sqlalchemy 实现 "soft delete"系统

java - 随机调用向远程和本地数据库插入、检索和更新 mysql

java - hibernate 基础知识

java - 将Web服务集成到Java中

java - 在 hbm2ddl 之前创建模式

java - JPA 实体管理器资源处理

forms - CakePHP 3 - patchEntities() 的表单数据格式

java - Spring - 执行两个 hibernate 更新查询而不是一个