Hibernate中条件查询的困惑!

小弟正着手一个项目的开发,由于需要用hibernate,所以开始学习使用!
项目中不可避免的要用到分页,在多方查找资料后,决定使用hibernate的条件查询!
但是在调试中遇到了不少的问题,希望各位大人指点!
首先我的类继承了HibernateDaoSupport
分页查询的方法如下
public PageBean findAllByCriteria(final DetachedCriteria detachedCriteria,
final int pagesize, final int startIndex) {
return (PageBean) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria executableCriteria = detachedCriteria.getExecutableCriteria(session);


int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
PageBean pb=new PageBean(list,totalCount,pagesize,startIndex);
return pb;
}
}, true);
}
PageBean 为我的分页bean
问题是这样出现的
int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
这样的语句顺序执行后,freemarker不能够获取list中保存的对象,用下面的语句
Iterator it = list.iterator();
while(it.hasNext()){
Person_test p=(Person_test)it.next();
System.out.println(p.getID());
}运行时 控制台会报 类异常错误,如果使用泛行,编译器直接就报错!

如果语句顺序调换即变成这样
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);

此时当startIndex=1时,语句正常执行,当startIndex>1时
int totalCount = ((Integer)...
则会报空指针错误!

各位大人帮忙看下,我疏忽了哪里的编码!谢谢了
vue3接入大华摄像头 ┃ ┃ ┣ 📜PlaybackModal.vue 回放列表模态框。┃ ┃ ┗ 📜VideoGrid.vue 视频播放区域。┃ ┃ ┣ 📜ControlPanel.vue 控制面板。┃ ┃ ┣ 📜DeviceList.vue 设备列表。┃ ┣ 📂module //大华摄像头文件。 阅读详情

相关推荐

Vmware Vcenter7.0证书web续期发生错误

生成证书,选择第三个(PS,如果没有域名的,一定要写IP,不然很容易卡在85%,服务不能起来)这里大概率可能是证书里面的FQDN和主机不匹配,又或者是主机解析FQDN有问题。vCenter _MACHINE_CERT快到期了,通过web界面更新证书失败。vSphere Client 版本 7.0.2.00200。登陆ssh到vcenter,重新生成证书。先关掉HA,不然证书管理会报错。第一步先这样,重新续订一下证书。

m0_74823595的博客 3944

criteria.setProjection(Projections.rowCount()).uniqueResult() 为null

其实这个并不是 jeecg 的问题 而是 springside 的问题:   以jeecg 代码为例: 代码位于:org.jeecgframework.core.common.dao.impl.GenericBaseCommonDao final int allCounts = ((Long) criteria.setProjection(Projections.rowCount())...

烧猪 -- 记事本 2214

复现基于PYNQ-Z2的手写数字识别卷积加速器设计

来源雪天鱼。

eachanm的博客 968

Hibernate中DetachedCriteria的使用

import org.hibernate.criterion.DetachedCriteria;import org.hibernate.criterion.MatchMode;import org.hibernate.criterion.Order;import org.hibernate.criterion.Restrictions;Restrictions的幾個常用限定查詢方法如下表所示

kjfcpua的专栏 1922

深入解析 OpenClaw(小龙虾)源码:架构设计与核心实现

OpenClaw用清晰、工程化的代码结构,将复杂的Agent交互流程变成了可管理、可扩展的流水线。无论是想深入了解Agent系统设计,还是希望二次开发定制自己的AI助理,阅读OpenClaw源码都是一次绝佳的学习旅程。希望本文能帮助你快速掌握OpenClaw的核心脉络。如果你对某个模块(如技能开发、安全机制)感兴趣,欢迎继续探讨。本文基于OpenClaw社区版本源码分析,具体实现可能随版本迭代有所调整,请以最新源码为准。

Ven%的博客 449

华为OD机试新系统真题-魔法咒语组合(Java/Py/C++/Go/C/Js)

华为OD机试 新系统真题【魔法咒语组合】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【魔法咒语组合】多语言题解

qq_45776114的博客 667

Hibernate的条件查询的几种方式

1、第一种,用?占位符,如: //登录(用?占位符) public List LoginUser(UserPO up)throws Exception{ Session session = HibernateSessionFactory.getSession(); String hql = "from UserPO where name = ? and pwd= ?"; Query query =

y_dzaichirou的博客 3123

电机控制基础,小白入门篇

电机,这个藏在风扇、电动车、机器人里的“动力心脏”,如何精准控制它的转速、方向甚至力量?这篇博客专为完全零基础的小白打造,用“说人话”的方式拆解电机控制的底层逻辑,帮你从“看不懂电路图”到“能调个简单电机”。 电机控制不是“大神专属”,只要掌握“电生磁、磁生力”的底层逻辑,加上动手实践,小白也能快速入门。这篇博客会陪你从“看电机转”到“让电机听话”,把复杂的控制原理变成能上手玩的“小实验”。准备好你的面包板和电机,我们一起开启“电控之旅”吧!

汽车电子软件领域知识分享 5594

Hibernate学习之---条件查询

条件查询是更具面向对象特色的数据查询方式,条件查询通过如下三个类完成: Criteria:代表一次查询。 Criterion:代表一个查询条件。 Restrictions:产生查询条件的工具类。 执行条件查询的步骤: 获取Hibernate的Session对象。 以Session对象创建Criteria对象。 使用Restrictions的静态方法创建Criterion查询条件。 向Criteria

StrongHYQ的博客 687

【MATLAB例程】三维下的IMM(交互式多模型),模型使用CV(匀速)和CA(匀加速),滤波使用EKF。附完整代码

CV模型:状态包含位置、速度和零加速度(9维状态),状态转移矩阵忽略加速度项CA模型:完整包含位置、速度和加速度(9维状态),状态转移矩阵包含二次项过程噪声矩阵Q分别根据两种模型的运动特性推导。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 560

第2.0章 机器人C++学习开篇(一):SLAM为什么使用C++语言及学习路线资料推荐

ROS(机器人操作系统):机器人领域的“操作系统”,提供节点通信、参数管理、工具链支持,是SLAM算法在机器人上部署的核心框架。PCL(点云库):处理三维点云数据的利器,包含滤波、分割、配准等算法,是激光SLAM的核心依赖。Eigen(矩阵运算库):高效的矩阵与线性代数运算库,SLAM中的位姿变换、优化求解都依赖它。Ceres/G2O(优化库):SLAM后端优化的“王牌”,Ceres擅长通用非线性优化,G2O则专为图优化设计,二者是BA( bundle adjustment)等算法的实现基础。

行知SLAM 1241

HIbernate 原生sql语句多表联合查询

多表查询最困惑的是查询出来的数据是两个表结合的所以数据没办法封装到一个实体中,个人总结了两种方法: 一:新建一个封装类: StringBuffer sql =new StringBuffer("select u.name , r.content , r.time " "FROM reply as r, user as u" "WHERE r.us...

平常心 1785

Isaac Sim 入门教程(四)强化学习策略训练宇树人形机器人四足机器人示例

isaac_sim_policy_example Extension 是在 Isaac Sim 中部署 Isaac Lab 强化学习策略的一个框架和一组辅助函数。有关在 Isaac Sim 中训练和构建策略的详细信息,请访问在 Isaac Sim 中部署策略。该扩展程序默认已启用。如果被禁用,可在扩展管理器中搜索 isaacsim.robot.policy.example 重新启用。要运行下面的示例,请激活 “视窗”>“示例”>“机器人示例”,这将打开 “机器人示例 ”选项卡。

机器人控制与仿真应用 3923

动态查询的困惑

JAVAZHICHIZHE的专栏 863

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Hibernate应用的困惑(1)

Hibernate级联查询应用的困惑。 比如举个简单的例子:制作一个博客系统,其中有会员,文章分类,对应具体类别的文章。 很明显会员与文章类别之间的映射关系是一对多,文章类别与文章之间的映射关系是一对多。 为了实现他们的查询我可以采用好几种方法: 1:我将他们之间都设置为一对多单向映射而且是立即加载。 在会员登陆的同时我就加载所有的级联对象。这是个Action方法,里面返回一个...

jasstion的专栏 164

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hibernate多表查询指定字段(两张表以上)

hibernate数表关联查询指定字段

warmcore的博客 5292

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Hibernate缓存体系之查询缓存(query cache),以及list和iterate方法的区别

什么是Hibernate的查询缓存呢?想一下这样的情况:如果A用户向hibernate发出了一个select * from student where name='aty',过了一会儿B用户也发出了同样的查询语句,而在这期间student表数据没有任何的改动,也就是说A用户和B用户需要获取的数据都是相同。如果对A的查询结果进行了缓存,B用户就不用直接查数据库了,直接从缓存中获取数据即可。

aty 4526

Hibernate的HQL带来的困惑

最近做的项目是多表关联查询的,发现自己的HQL并不扎实,HQL语句经常产生找不到路径的异常,所以估计自己的HQL出现错误,但是不知道怎么修改,望高人能指点. 如表project(id integer,name varchar(20)) ;表detail(id integer,name varchar(20)) ; 表value(id integer,value varchar(50),projec...

sallybai的专栏 123

hibernate iterate方法的困惑

iterate是一个读操作 应该启用只读事务,但是在实际应用中使用只读事务会出错 [code="java"]org.hibernate.exception.GenericJDBCException: could not get next iterator result[/code] 事务配置 [code="java"]@Transactional(readOnly=true) //只读事...

xly_971223的专栏 286

struts+spring+hibernate做项目的困惑

使用struts+spring+hibernate做项目的困惑环境: spring:1.1 hibernate:2.1.6 strut:1.2.4 在做这个项目前,我们一直用servlet+jsp+javabean+jdbc开发系统,开发过程简单,效率也还可以,但就是sql写的太多,后期维护的工作量越来越大。而且PO基本上是table的一个对应,PO之间没有类的关系。在前期系统分析,基本上是做

wuhuif==专栏 856

hibernate使用对象查询,timestamp字段无法使用索引问题排查记录

事件起因: 前两年开发的一个系统,用户反馈管理员账号进入列表页面很慢,普遍需要半分多钟(该页面查询的数据表总数在500W左右,默认进入页面显示当前月数据)。 目前负责项目维护的同学经过一番排查,确认接口执行的sql在参数相同的情况下plsql执行不到1秒钟。于是怀疑是tomcat或者是nginx有问题,觉得无法解决,转交到了我手里。 问题排查: 接到问题后,由于现场的系统用户频繁使用不利于追踪问题,在服务器上新部署了一个服务进行问题跟踪。 在新部署的系统日志中发现,接口的条数、列表查询间隔14

ren7wei的博客 537

吐槽hibernate的各种坑

这是近期我一边踩坑一边困惑的问题。 第一,Hibernate的级联批量保存超级超级慢,有没有人有同感?没错你的代码量是减少了,用个jpa的save方法就搞定了,但是性能呢?分析日志就可以看出来慢在哪里。 1. 如果你使用数据库的sequence做主键,它会先select sequnece.nextval from dual,list有多少条数据它就会select多少次,即使你只想update数...

Tina的博客 1456

3点钟说说hibernate

hibernate用了这么久,其实也仅仅限于hibernatetemplate提供的基本方法来操作,对于spring 的hiberantedaosupport 一直很少用,basedao的实现类从来都是继承自hibernatetemplate而很少使用hibernatedaosupport,感觉spring再次将其封装一次意义不大。个人见解   对于hibernate的投影查询一直处于似懂非懂...

K.i的技博 134

被hibernate搞晕了

我实在受不了,一定要写点东西发泄一下! 最近用struts+hibernate+spring搭了一个框架,写一个RSS阅读器,由于对hibernate不熟悉,根本就不知道怎么进行多表查询,把我搞晕了。决定什么时候去买一本hibernate的书来看,不然真的要郁闷。有时候,感觉一个小项目直接用jdbc写SQL语句还简单些,我也是自找麻烦,非要用什么hibernate。工欲善其事,必先利其器...

泉浩 130

【hibernate】 hibernate 注解之 SequenceGenerator

转自:https://blog.youkuaiyun.com/zgf19930504/article/details/54694807当使用hibernate 连接 oracle 数据库的时候,如果想使主键进行自增,那么不可避免将会使用 SequenceGenerator 注解, 此注解有一个比较困惑的属性: allocationSize, 1. hibernate 配置[java] view plain c...

fan_balalld的博客 884
下一篇: 让birt在ie10中跑起来
iceheartboy2015
博客等级 码龄19年 9粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值