hibernate中 criteria.setProjection(Projections.rowCount()).uniqueResult()为null的Bug
在hibernate中,在查询总数时,会使用如下方法;
public Integer getCount(final DetachedCriteria detachedCriteria) {
return (Integer) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
int totalCount = (Integer) criteria.setProjection(
Projections.rowCount()).uniqueResult();
criteria.setProjection(null);
//
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
return totalCount;
}
}, true);
}
有时在int totalCount = (Integer) criteria.setProjection(
Projections.rowCount()).uniqueResult();这一句会报NullPointException。
原因是这句代码之前出现了criteria.addOrder(Order.desc("sc.createTime"));这样的排序语句。
把排序语句放到总数查询的后面即可。有时候你注释了缓存也仍然会影响的,需要把注释的语句也删掉。
最新文章
- 一个android参考网站,工具+源码
- maven scope含义的说明
- MySQL的show语句大全
- Python科学计算环境推荐——Anaconda
- monkeyrunner自动登录脚本
- Intellij IDEA 14的注册码
- 使用react-native做一个简单的应用-01项目介绍
- Filter 字符编码Filter 一
- 日志输出--C#
- RabbitMQ消息队列之二:消费者和生产者
- Play-With-Docker在chrome上的插件
- SPI驱动调试感悟
- Tengine+Lua+GraphicsMagick
- android架构原理
- 学习MeteoInfo二次开发教程(十二)
- JS-jquery对象和dom对象的属性操作区别
- python调用webservice接口
- Linux的文件最大连接数
- CodeM Qualifying Match Q2
- 使用COSBench工具对ceph s3接口进行压力测试
热门文章
- .NET中的那些受特别对待的类型(CriticalFinalizerObject)
- Oracle中用exp/imp命令快速导入导出数据
- 强大的Core Image(教你做自己的美图秀秀))
- You're Given a String...
- Linux下通过txt文件导入数据到MySQL数据库
- 我常用的几个第三方 Python 库
- 记录一些WPF常用样式方便以后复用(转)
- windows环境vagrant修改静态资源文件,centos虚拟机中nginx的web环境下不生效
- websphere删除概要文件(profiles)的方式
- 用 Linux blkid 命令查找块设备详情