如题,用Hibernate做分页,当HQL查询语句中包含distinct时,就不能正确count出结果集总行数,如:
String hqlQuery = "select distinct u.name,g.group from UserInfo u left join u.group g";
一般情况下,用该HQL求结果集总数,构建一个count hql语句
String hqlCount = "select count(*) from UserInfo u left join u.group g";
但这样出来的结果明显和原sql有差距(HQL居然不支持count(1)郁闷)
大家指点一下,如上hql要怎么样重建才能正确的count出结果总数,都研究好一两天了!
注:不希望直接query返回list.size,这样数据有压力,网络也有压力。
{
Query query = session.createQuery(hqlQuery);
long count = query.list().size();
}
这样有很大的效率问题,就是想优化它 :cry:
[b]问题补充:[/b]
To:碧海山城
我那样不得行哈,结果集并不只有一列一行,query.uniqueResult()会报错的