Hibernate 统计记录总数方法汇总
/*** @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 统计记录总数方法汇总相关推荐
- mysql语句统计总数_SQL一条语句统计记录总数及各状态数
SQL一条语句统计记录总数及各状态数 方法一. 代码如下: SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数) FROM ( SELECT COUNT ...
- 实现分页统计记录总数时: sql语句的异常
实现分页统计记录总数时: sql语句的异常 sql: select count(n) from dblog n where n.deleteflag=0: 这句话在jdbc 环境和 mysql自带查询 ...
- MySQL用函数统计记录总数_在mysql中使用COUNT 或者SUM函数计算记录总数
count函数的作用 想要真正的理解count函数,我们就必须明白count函数的作用. 作用一:统计某一列非空(not null)值得数量,即统计某列有值得结果数,使用count(col),其中co ...
- 统计计量 | 统计学中常用的数据分析方法汇总
来源:数据Seminar本文约10500字,建议阅读15+分钟 统计学中常用的数据分析方法汇总. Part1描述统计 描述统计是通过图表或数学方法,对数据资料进行整理.分析,并对数据的分布状态.数字特 ...
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
<Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...
- Pandas 函数方法汇总一览查询(持续补充改进)
Pandas 函数方法汇总一览查询(持续补充改进) 文章目录 Pandas 函数方法汇总一览查询(持续补充改进) 初衷 Pandas 最最常用函数罗列 Pandas 函数用法示例 初衷 NumPy.P ...
- hibernate删除记录_Hibernate记录:常见问题的提示和解决方案
hibernate删除记录 如何通过适当的日志记录解决一些最常见的Hibernate问题? Hibernate的日志记录配置是一个重要但很少讨论的主题. 正确的配置可以帮助您在开发过程中发现潜在的问题 ...
- vue项目引入CNZZ数据专家(方法汇总篇)
vue项目引入CNZZ数据专家(方法汇总篇) 很多网站都有cnzz数据统计,用于分析网站页面受访情况. 今天就来备注一下开发经验: vue如何集成cnzz数据专家进行受访记录? 友盟+CNZZ官方文档 ...
- HIbernate抽象出通用方法
前言 Hibernate的目标是让开发者不用写sql就能实现对象到数据表的映射操作.当然,理想很美好,现实很骨感,在使用Hibernate时会遇到很多问题,如重复的增删改查.批量对象操作.分页等等,所 ...
最新文章
- 8天学通MongoDB——第二天 细说增删查改
- 一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders
- 如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉...
- 小技巧—设置IIS禁止网站放下载电影文件
- 把之前写的几个项目放到了github上
- Boost:将自定义占位符_1复制到arg <1>的测试程序
- 1269: GPA-一题简单英文题~
- 【转】从哈希存储到Bloom Filter
- python 列表自定义排序_自定义排序的Python列表
- LibreOJ #6207. 米缇(杜教筛 + 拉格朗日插值)
- python怎么改目录_如何查看文件,而不是使用Python进行更改的目录?
- windows查询每个线程占用的内存_C#多线程
- json无法解析的字符
- android 服务端 servlet webservice,Tomcat 上如何部署Servlet及Android中如何与服务器通信(12页)-原创力文档...
- 京东价格监控软件开发技术探讨八:如何获取京东商品分类数据
- sql查询将字段值转换成汉字
- cocos之Gif图
- java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
- iOS 的一种设计模式 类别 catagory
- PHP利用百度语音接口,实现文字图文转语音播放