/*** @TODO:查询某一年度的所有计划数量*/publicint findCountByYear(String currYear) {  String hqlString = "select count(*) from WaterPlan as pwhere p.planYear ='"+currYear+"'";  Query query = this.getSession().createQuery(hqlString);  return ((Number)query.uniqueResult()).uniqueResult();  }

从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。

这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。

Hibernate Team也提供了一个与原来兼容的解决方案:

   Configuration classicCfg = new Configuration();  classicCfg.addSqlFunction( "count", new ClassicCountFunction());  classicCfg.addSqlFunction( "avg", new ClassicAvgFunction());  classicCfg.addSqlFunction( "sum", new ClassicSumFunction());  SessionFactory classicSf = classicCfg.buildSessionFactory();

   //int count = ((Integer)query.uniqueResult()).intValue();//改成int count = ((Number)query.uniqueResult()).intValue();  //这样就可以两个版本同时兼容.//参考代码//第一种方法:String hql = "select count(*) from User as user";  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();  return count.intValue();  //第二种方法:String hql = "select count(*) from User as user";  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();  //第三种方法:String hql = "select count(*) from User as user";  Query query =  getHibernateTemplate().createQuery( getSession(),hql);  return ((Integer)query.uniqueResult()).intValue();

转载于:https://blog.51cto.com/jiyanle/1200572

Hibernate 统计记录总数方法汇总相关推荐

  1. mysql语句统计总数_SQL一条语句统计记录总数及各状态数

    SQL一条语句统计记录总数及各状态数 方法一. 代码如下: SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数) FROM ( SELECT COUNT ...

  2. 实现分页统计记录总数时: sql语句的异常

    实现分页统计记录总数时: sql语句的异常 sql: select count(n) from dblog n where n.deleteflag=0: 这句话在jdbc 环境和 mysql自带查询 ...

  3. MySQL用函数统计记录总数_在mysql中使用COUNT 或者SUM函数计算记录总数

    count函数的作用 想要真正的理解count函数,我们就必须明白count函数的作用. 作用一:统计某一列非空(not null)值得数量,即统计某列有值得结果数,使用count(col),其中co ...

  4. 统计计量 | 统计学中常用的数据分析方法汇总

    来源:数据Seminar本文约10500字,建议阅读15+分钟 统计学中常用的数据分析方法汇总. Part1描述统计 描述统计是通过图表或数学方法,对数据资料进行整理.分析,并对数据的分布状态.数字特 ...

  5. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

  6. Pandas 函数方法汇总一览查询(持续补充改进)

    Pandas 函数方法汇总一览查询(持续补充改进) 文章目录 Pandas 函数方法汇总一览查询(持续补充改进) 初衷 Pandas 最最常用函数罗列 Pandas 函数用法示例 初衷 NumPy.P ...

  7. hibernate删除记录_Hibernate记录:常见问题的提示和解决方案

    hibernate删除记录 如何通过适当的日志记录解决一些最常见的Hibernate问题? Hibernate的日志记录配置是一个重要但很少讨论的主题. 正确的配置可以帮助您在开发过程中发现潜在的问题 ...

  8. vue项目引入CNZZ数据专家(方法汇总篇)

    vue项目引入CNZZ数据专家(方法汇总篇) 很多网站都有cnzz数据统计,用于分析网站页面受访情况. 今天就来备注一下开发经验: vue如何集成cnzz数据专家进行受访记录? 友盟+CNZZ官方文档 ...

  9. HIbernate抽象出通用方法

    前言 Hibernate的目标是让开发者不用写sql就能实现对象到数据表的映射操作.当然,理想很美好,现实很骨感,在使用Hibernate时会遇到很多问题,如重复的增删改查.批量对象操作.分页等等,所 ...

最新文章

  1. 8天学通MongoDB——第二天 细说增删查改
  2. 一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders
  3. 如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉...
  4. 小技巧—设置IIS禁止网站放下载电影文件
  5. 把之前写的几个项目放到了github上
  6. Boost:将自定义占位符_1复制到arg <1>的测试程序
  7. 1269: GPA-一题简单英文题~
  8. 【转】从哈希存储到Bloom Filter
  9. python 列表自定义排序_自定义排序的Python列表
  10. LibreOJ #6207. 米缇(杜教筛 + 拉格朗日插值)
  11. python怎么改目录_如何查看文件,而不是使用Python进行更改的目录?
  12. windows查询每个线程占用的内存_C#多线程
  13. json无法解析的字符
  14. android 服务端 servlet webservice,Tomcat 上如何部署Servlet及Android中如何与服务器通信(12页)-原创力文档...
  15. 京东价格监控软件开发技术探讨八:如何获取京东商品分类数据
  16. sql查询将字段值转换成汉字
  17. cocos之Gif图
  18. java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
  19. iOS 的一种设计模式 类别 catagory
  20. PHP利用百度语音接口,实现文字图文转语音播放

热门文章

  1. 使用Electron制作一个快速搜索应用(入门向)
  2. 每天坚持一个CSS——社会人
  3. 德国市占率第一的科沃斯携最新扫地机器人亮相IFA展
  4. 国外centos服务器配置epel源
  5. 《转载》Python并发编程之线程池/进程池--concurrent.futures模块
  6. 如何在androidstudio中运行java程序
  7. python3 的 zip
  8. 1分钟快速生成用于网页内容提取的xslt
  9. [svn] linux 下svn服务器的搭建
  10. 【转】Socket状态变迁图