从Hibernate 3.0.x/3.1.x升级到最新的3.2版造成的ClassCastException
来源:互联网 发布:手机淘宝联盟登不上 编辑:程序博客网 时间:2024/05/16 14:54
从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。
这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。如:
count = ((Integer)iter.next()).intValue(); 这样会报ClassCastException。
改为这样就可以了,count = ((Number)iter.next()).intValue()。
下面是完整代码:
- public int getTotalCount(String hql) {
- int count=0;
- String countStr = "select count(*) "+ hql;
- List list = findHelper(countStr);
- Iterator iter = list.iterator();
- if(iter.hasNext()){
- count = ((Number)iter.next()).intValue();
- }
- return count;
- }
public int getTotalCount(String hql) {int count=0;String countStr = "select count(*) "+ hql;List list = findHelper(countStr);Iterator iter = list.iterator();if(iter.hasNext()){count = ((Number)iter.next()).intValue();}return count;}
- 从Hibernate 3.0.x/3.1.x升级到最新的3.2版造成的ClassCastException
- 手动从Mysql 5.1.X 升级到 5.5.X 要注意的其它内容
- cocos2d 从v1.x升级到v2.x需要注意的几个地方
- Mac上Python从2.x升级到3.x的艰苦历程
- 修复Unity从4.x升级到5.x后部分脚本的编译错误
- 修复Unity从4.x升级到5.x后部分脚本的编译错误
- 升级python到最新2.7.x -- linux
- centos6.x升级到最新内核
- J2EE程序从JBoss4.0.0及3.2.x升级到4.0.1+的问题解决办法
- 升级Mac OS X 和 Xcode的SVN到最新版本
- 升级Mac OS X 和 Xcode的SVN到最新版本
- 升级Mac OS X 和 Xcode的SVN到最新版本
- 从cocos2d-x 3.0 到 cocos2d-x 3.2 引擎升级记录
- 从cocos2d-x 3.0 到 cocos2d-x 3.2 引擎升级记录
- OS X升级从10.8升级到10.9后,MacVIM无法启动的问题解决
- 8-Hibernate 2.x 升级到 Hibernate 3.x
- cocos2.x升级到3.x的脚本
- 免费升级Mac OS X 的办法 ( 本人已验证可以从Mac OS X 10.6.8 升级到 Mac OS X 10.8 )
- pku 1043 What's In A Name ?
- 一个用javascript写的hashtable类
- fatal error C1083(precompile head)
- SAP 术语
- Function实现ALV Table八:事件
- 从Hibernate 3.0.x/3.1.x升级到最新的3.2版造成的ClassCastException
- Myeclipse启动优化
- java 高级特性
- 在Visual C#里面用ListView显示数据记录
- 得到当前文件列表.bat
- Struts2学习笔记之国际化一
- BS构架在线状态的检测与刷新
- SQL数据分页
- 图像傅立叶变换 概念