日期:2014-05-19  浏览次数:20598 次

HQL 统计查询无效?
项目使用Spring和hibernate

首先:List listPlanInfo = getHibernateTemplate().find("select useYear from plan_year");
这个是可以的,能从plan_year这个对象中查出数据.

但是:
List listPlanInfo = getHibernateTemplate().find("select count(*) from plan_year");

为啥查不出结果,也不抛异常? 后天打印出的hql语句只有一半:
Hibernate: select count(*) as col_0_0_ from plan_year yearplan0_

测试发现所有与统计有关的语句都是这样.. 求指点!!

------解决方案--------------------
用createQuery("select count(*) from plan_year")试试,这个应该可以
long count = (Long)session.createQuery("select count(*) from plan_year").list();
------解决方案--------------------
Query query = session.createQuery(hql);
if(values != null){
for(int i=0;i<values.length;i++){
query.setParameter(i, values[i]);
}
}
return query.uniqueResult();

你试试
------解决方案--------------------
应该这样用:
long countLong = (Long)session.createQuery("select count(tt) from plan_year tt").uniqueResult();

这样就可以得到查询出来的记录条数了