使用sql进行查询
String sql = "select count(*) from student";
Query query = session.createSQLQuery(sql);
List<BigInteger> 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.版本的问题。