我有一大堆代码可以获得一个任意的org.hibernate.Query对象。此查询不是“计数”查询。如何在不从查询中删除sql字符串的情况下获取从该查询返回的项目数?
我在研究中遇到了这个问题的org.hibernate.Criteria对象,它有setProjection(Projections.rowCount())
方法。但我无法找到将Query对象转换为Criteria对象或查找Query对象的类似方法的方法。
提前致谢。
答案 0 :(得分:0)
您可以使用Query.scroll()
,使用ScrollableResults.last()
到达最后一个位置,然后拨打getRowNumber()
。
请注意,这将为您提供SQL行数,而不一定是查询返回的实体数(例如,如果集合上有连接提取)。