hibernate统计单表记录数量
之前写jdbc常遇到这个问题
select list后在list.size比起select count(*) from xx 这种方式速度上至少慢了一个数量级
不过刚接触hibernate,又遇到这个需求时就不知所措了
直接
public int findSumByTime(final Date beginTime, final Date endTime) { int sum = (Integer) this.getHibernateTemplate().execute( new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { // TODO Auto-generated method stub Criteria criteria = session.createCriteria(entityClass); criteria.add(Restrictions.between("date", beginTime, endTime)); criteria.setProjection(Projections.rowCount()); List results = criteria.list(); int total = Integer.parseInt(results.get(0) .toString()); return total; } }); return sum; }