Hibernate的聚合查询返回类型Long

来源:互联网 发布:mysql创建唯一约束 编辑:程序博客网 时间:2024/06/06 04:47

处理Hibernate的聚合查询,从网上copy了一段代码,报了个错误:

java.lang.Long cannot be cast to java.lang.Integer
一查才知道,原来hibernate3之后,当然也有人说3.2以后,返回值改成Long了,直接改成Long,测试一下,可以。

      public Long getTotal(final String hql) {                         Long result = null;             result = (Long)getHibernateTemplate().execute(new HibernateCallback() {                     public Object doInHibernate(Session session)                         throws HibernateException, SQLException {                     Query query = session.createQuery(hql);                     return query.uniqueResult();                 }                 });             return result;     }
调用:

Long total = getTotal(“select count(*) from Sysjsgn where js='系统管理员'”);
总结:

代码都是有一定的条件才是正确的,环境不一样,代码能够直接使用的概率很低;

软件成天都在升级,使用别人的东西越多,程序未来升级的需要调整的东西越多,理解原理就可以了,尽量减少使用第三方的软件。

阅读全文
0 0
原创粉丝点击