我正在使用hibernate和spring开发应用程序。我正在尝试使用 ScrollableResults 获取查询获得的结果计数,但由于查询包含大量连接(内部连接),结果包含重复多次的 id。当我使用 ScrollableResults 来了解从数据库返回的唯一行(或唯一 ID)的总数时,这会给 ScrollableResults 带来问题。请帮忙。部分代码如下:
StringBuffer queryBuf = new StringBuffer("Some SQL query with lots of Joins");
Query query = getSession().createSQLQuery(queryBuf.toString());
query.setReadOnly(true);
ScrollableResults results = query.scroll();
if (results.isLast() == false)
results.last();
int total = results.getRowNumber() + 1;
logger.debug(">>>>>>TOTAL COUNT<<<<<< = {}", total);
它给出的总计数为 1440,但数据库中的实际唯一行为 504。提前致谢。