hibernate查询结果条数集

原写法:

Integer count =  (Integer )session.createQuery(hql).uniqueResult();

报错:java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

原因:

从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。 
这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。

解决方案:

1.hibernate尤其解决方案。当使用hibernate的查询函数count(),sum()等的值时(注意:一定是只返回唯一值的并且为数字格式是才可以)可已调用query的uniqueResult();方法  此方法返回Object对象,只需要把它转为Number类型,然后调用.intValue()即可。

例如:

Integer count =  ((Number) session.createQuery(hql).uniqueResult()).intValue();

2.可以将long转为字符串,然后将字符串再转为integer;

 Long i = (Long) session.createQuery(hql).uniqueResult();

Integer ii= new Integer(String.valueOf(i));

这两种方案即可解决此类问题~

最新文章

  1. C++折半插入排序
  2. 阻塞队列BlockingQueue 学习
  3. hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的
  4. android studio 开启genymotion 出现"failed to create framebuffer image"
  5. Python中的库使用之一 PIL
  6. TypeError: document.formname.submit is not a function
  7. Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建
  8. 【Reporting Services 报表开发】— 数据表的使用
  9. SQL2008-字符转数字CAST和CONVERT
  10. java中的IO流
  11. 管理Undo数据
  12. ListView的简单使用和性能优化
  13. cocos2d之Box2D详细说明 鼠标联合实现
  14. NSData与UIImage互相转换
  15. CSU 1515 Sequence
  16. 你的计算机也可以看懂世界——十分钟跑起卷积神经网络(Windows+CPU)
  17. ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
  18. Cannot redeclare C() (previously declared in .
  19. Windows10上强制Visual Studio以管理员身份运行
  20. !!代码:baidu地图

热门文章

  1. python之celery使用详解一
  2. 隐藏Tengine的版本信息
  3. vscode 换行符\n 变成\r\n
  4. js模拟form打开新窗口
  5. Animation.setFillAfter and Animation.setFillBefore的作用
  6. 转:linux下配置JDK提示tools.jar/dt.jar权限不够
  7. ftp 自动上传数据库备份文件
  8. 5. 集成学习(Ensemble Learning)GBDT
  9. 基于jquery横向手风琴效果
  10. 解压报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now的解决方法