如何计算Hibernate查询对象返回的内容?

时间:2011-10-05 19:30:25

标签: java hibernate

我有一大堆代码可以获得一个任意的org.hibernate.Query对象。此查询不是“计数”查询。如何在不从查询中删除sql字符串的情况下获取从该查询返回的项目数?

我在研究中遇到了这个问题的org.hibernate.Criteria对象,它有setProjection(Projections.rowCount())方法。但我无法找到将Query对象转换为Criteria对象或查找Query对象的类似方法的方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Query.scroll(),使用ScrollableResults.last()到达最后一个位置,然后拨打getRowNumber()

请注意,这将为您提供SQL行数,而不一定是查询返回的实体数(例如,如果集合上有连接提取)。