List list = getHibernateTemplate().find("select count(*) from Role");
return ((Integer)list.iterator().next()).intValue();出错,报java.lang.ClassCastException:java.lang.Long的错误,
一开始以为是jar包的原因,后来在http://www.tctl.com.cn/accp/1459/1463/27247.html,有网友回复说是:
标量查询,早期的Hibernate返回的是Integer.后来3.1版本以后都改成了返回Long,可能是防止溢出吧.
所以,改成
List list = getHibernateTemplate().find("select count(*) from Role");
return ((Long)list.iterator().next()).intValue();
就好了