在JDBC中,就使用SQL的sum等方法,而在使用Hibernate中,需要使用org.hibernate.criterion.Projections对象.
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("depart", "depart1"));
criteria.setProjection(Projections.count("id"));
Long count = (Long)criteria.uniqueResult();
查询depart1部门的人数, 这种方式要比list再去取size好一些
Projections的一些其他聚合函数:distinct, rowCount, avg, min, max, sum等