昨天需要做ssh+quartz 的触发统计情况 遇到查询总记录数的需求 特意网上搜索了下 做个笔记
hibernate查询方法
1. 原生sql
String hql="select count(*) from student" ; Query query=session.createSQLQuery(hql); List<BigInteger> list=query.list(); count = list.get(0).intValue();
2.hql语句
String hql="select count(*) from Student"; Query query = session.createQuery(hql); count=((Long) query.setCacheable(true).uniqueResult()).intValue();//此处用Long类型进行转换
继承HibernateDaoSupport 的dao类调用方法
/**
* 查询列表(记录书统计)
* @param hql语句
* @return int
*/
public int query(String hql) {return ((Long) super.getHibernateTemplate().find( hql ).listIterator().next()).intValue();
}