Hibernate中使用select count(*) 或者sum(filed_name)

转自:http://blog.csdn.net/yangzhihello/article/details/8253320

在hibernate中使用SQLQuery查询select count()或者使用 select sum(filed_name)

返回的结果会是BigInteger等类型。

而这些是不能够强制转换为Object或者是Integer类型。

真的是很麻烦!

但是BigInteger中有invalue()方法。

可以自己转换为int类型。

所有已会有了下面的代码!

 

	long result  = (Integer)this.getHibernateTemplate().execute(new HibernateCallback() {
			
	public Object doInHibernate(Session session) throws HibernateException,
		SQLException {
		SQLQuery query = session.createSQLQuery(hql);
		BigInteger bigVal =(BigInteger)query.list().get(0);
		int val = bigVal.intValue();
		return val;
		}
	});

 

你可能感兴趣的:(Hibernate)