hibernate 数据行数统计 count(*)

时间:2024-01-13 19:59:32

Hibernate关于sql中的count(*)数据统计:

①如果使用的是HQL:

直接在HQL中使用count(*)即可获取行数

        Long count = (Long)HibernateUtil.getSession()
.createQuery("select count(*) from Employee")
.uniqueResult();
System.out.println(count);

②如果使用的是Criteria方式查询:

使用Projections.rowCount()方法

        Criteria criteria = HibernateUtil.getSession().createCriteria(Employee.class);
criteria.setProjection(Projections.rowCount());
Long count = (Long) criteria.uniqueResult();
System.out.println(count);

其中返回值是Object类型的数值,可以通过强制转换成Long并调用intValue()方法来使用这个int值