hibernate查询总记录数

hibernate使用hql和sql查询总记录数和注意事项

使用sql进行查询

        String sql = "select count(*) from student";

        Query query = session.createSQLQuery(sql);

        List list = query.list();

        int count = list.get(0).intValue();

使用hql进行查询

        String hql = "select count(*)  from Student ";

        Query query = session.createQuery(hql);

        int count = ((Long) query.iterate().next()).intValue();

上面两段代码已经经过测试

注意事项:

1.版本

我发现网上的同学都是把long类型替换成Integer类型,我在测试的时候始终通不过。我怀疑和eclipse版本有关,但是不确定,特此贴出我用的版本。

我使用的eclipse版本是

Eclipse Java EE IDE for Web Developers.

Version: Helios Service Release 2

Build id: 20110218-0911

2.出错提示

如果同学们在版本不一样的时候,一定注意看出错提示,我也是根据出错提示进行修改才最终通过的,比如在使用sql进行查询,会提示java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Integer,这时候你改成BigInteger 就能通过了,这就解决注意事项中1.版本的问题。

你可能感兴趣的:(hibernate查询总记录数)