表:U(name ,count,...)String sql = " select use.name,sum(use.count) from U use where " + queryCondition+ " group by use.name"
上边的hql语句 可以得到一个List,现在我想得到List里总共有多少条数据(不是简单的List.size(),而是要通过hql查询得到)? 我的方法:在上边的hql 语句套了一层" select count(*) from (" +sql+ ")",但是报错,我想问题肯定是 from,hibernate的hql的from后边只能是对象吧,问题怎么解决呢?
上边的hql语句 可以得到一个List,现在我想得到List里总共有多少条数据(不是简单的List.size(),而是要通过hql查询得到)? 我的方法:在上边的hql 语句套了一层" select count(*) from (" +sql+ ")",但是报错,我想问题肯定是 from,hibernate的hql的from后边只能是对象吧,问题怎么解决呢?
@SuppressWarnings("unchecked")
public List<MovieBean> ReadMovie() {
String hqlstr="SELECT movie FROM MovieBean movie ";
Query query =em.createQuery(hqlstr);
// query.setParameter("username", username);
List<MovieBean> result= query.getResultList();
return result;
}
select count(*) from U use where " + queryCondition+ " group by use.name"你在获取全部记录时候要处理下.
就是把 " select use.name,sum(use.count) from U use where " + queryCondition+ " group by use.name" 这个hql中from 前面的全部去掉然后再加上select count(*) 到前面来组装成查询符合条件全部记录的 hql
select sum(use.name) from U use .....可以获得总记录数
select use.name,sum(use.count) from U use group by usr.name ...可以获得每个name 的count之和,这个返回的是List<Object []> hibernate标量查询,你查查吧
得到的是一个结果集,我想知道这个结果集有多条数据? 不能直接计算结果的大小,要通过hql查询得出。
我要的是结果集的数量,楼上的count(use.name)不正确,
http://www.ibm.com/developerworks/cn/java/j-lo-hibernate-jdbc/index.html?ca=drs-cn-0416
现在我就是用sql,不知道用sql对数据库迁移有没有问题
sselect count(count(*)) from U use where " + queryCondition+ " group by use.name"