Spring用回调HibernateCallBack方法

[b][url=http://www.bestown.cn]百事通信息网[/url][/b]


Spring用回调HibernateCallBack方法实现持久层一些功能,当这些功能不能满足需求时,我们也可以自已来重写HibernateCallBack,例:
public class UsersDAO extends HibernateDaoSupport {
......
public List getUsers() {
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException,
SQLException {
Query query = s.createQuery("From Users AS user ORDER BY user.username DESC");
List list = query.list();
return list;
}
});
}
......
}
但是这样的代码很难让人理解,可以将其打包
package com.notepad.comm;
import java.sql.SQLException;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
public class HQLCallBackUtil implements HibernateCallback {
private String hql;

public HQLCallBackUtil(){

}

public HQLCallBackUtil(String hql){
this.hql=hql;
}
public String getHql() {
return hql;
}
public void setHql(String hql) {
this.hql = hql;
}
public Object doInHibernate(Session s) throws HibernateException,
SQLException {
if (hql == null || hql.equals("")) {
throw new HibernateException("Can't execute NULL hql!");
}
return s.createQuery(hql).list();
}
}
然后可以通过如下代码进行调用
public class UsersDAO extends HibernateDaoSupport {
......
public List getUsers() {
HQLCallBackUtil callBack=new HQLCallBackUtil();
callBack.setHql("From Users AS user ORDER BY user.username DESC");
return this.getHibernateTemplate().executeFind(callBack);
}
......
}
这样是不是感觉简单很多呢!
HibernateCallback使用方法 立即下载

相关推荐

SDM量化噪声等效到PLL输出的传递函数推导

在历年文章或书本中少见SDM量化噪声等效到PLL输出的传递函数推导。需了解SDM量化噪声的本质,配合欧拉方程简化,并将Z域转化成S域。最终结合断环处等效到PLL输出的传递函数,方可完成。

u010486560的博客 1409

spring callback

       Spring中定义了三个可以用来对Spring bean或生成bean的BeanFactory进行处理的接口, InitializingBean、BeanPostProcessor和BeanFactoryPostProcessor。        InitializingBean中定义了一个afterPropertiesSet()方法。当BeanFactory将我们的bea...

jaesonchen 323

抖音视频数据抓取

最近经常有人问我抓取抖音视频的数据,问我一些很小白的问题,算法给他也不会用。 还是先抓包,获取需要的接口和参数,相关的算法在其它文章里面有描述。 搜索个视频看看 查看抓的包信息: 可以看到,这里是post请求...

2501_91048859的博客 3098

HibernateCallback()详解

HibernateTemplate提供了非常多的常用方法来完成数据库的基本操作,使得持久层访问摸板化,只要创建HibernateTemplate 实例后,注入一个SessionFactory的引用就可以了.无须手动创建sessionFactory,更加智能的管理Hibernate 的Session,没有大量的try/catch操作, void delete(Object entity)删除指

云淡风轻、仅此一抹 1万+

MES系统领料申请、出库、确认到料各环节的处理

在WMS和MES系统协同的车间管理中,核心分工原则为:MES负责生产需求发起(领料申请)和结果确认(到料验收),WMS执行库存管理和物流作业。具体流程为:1)MES根据生产需求生成领料单推送至WMS;2)WMS完成拣货出库并调度AGV配送;3)车间在MES确认到料后解锁生产工序。系统边界严格限定:MES不参与库存/库位管理,WMS不干预生产决策。特殊场景(紧急补料、缺料异常等)通过标准化接口流程处理,确保生产与物流高效协同的同时保持账实一致。

做有价值的事,积累有价值的笔记! 586

基于RK3588与FPGA的SDI视频处理系统:从MIPI CSI-2输入到DSI输出的全链路解析

本文深入解析了基于RK3588与FPGA的SDI视频处理系统全链路。系统利用FPGA作为高速接口转换与流管理核心,将SDI信号转换为MIPI CSI-2数据流送入RK3588进行智能图像处理与AI分析,处理结果再通过MIPI DSI回传,最终由FPGA控制编码为SDI输出,实现了专业视频接口与强大算力的高效协同。

s1t2u3的博客 669

Spring 使用的设计模式(一) CallBack(回调)

一 回调模式(CallBack)     1 类A持有一个类B的一个引用,类A并且实现了一个接口CallBack     2 类B有一个方法f,接收一个参数callBack,参数类型为CallBack,在方法f中调用了callBack的方法     下面是一个小例子:     package com.malone.callBack; public class CallBackD...

abc123maxiaolong的专栏 1103

别再为3D抓取发愁了!Halcon手眼标定保姆级教程(Eye-to-Hand模式,含完整代码)

本文提供Halcon手眼标定的保姆级教程,详细讲解Eye-to-Hand模式下的3D抓取实现方法。从硬件配置、坐标系系统到标定流程和核心算法,涵盖完整代码和实战经验,帮助用户快速掌握工业自动化中的精准抓取技术。

weixin_42523711的博客 270

利用HibernateCallback 回调查询

 public long getMaxMailId() { long maxId = 0l; maxId = ((Long) (this.getHibernateTemplate().executeFind( new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws H

DiscussQuestions的专栏 1277

实战指南:如何用Elasticsearch+Milvus搭建十亿级多模态搜索系统(含性能调优)

本文详细介绍了如何利用Elasticsearch和Milvus构建十亿级多模态搜索系统,包括架构设计、性能调优和实战部署。通过混合架构实现高效文本检索与向量相似度计算,显著提升查询性能与扩展能力,适用于大规模多模态数据处理场景。

x8y9z0的博客 1172

ASM准入小助手卸载没有密码的方法:读取明文密码2024年7月有效

在一次工作过程中,电脑中意外的安装了一个ASM准入小助手软件,工作结束以后回来发现没有卸载,然后就决定把它卸载掉,但是居然给了我一个大大的提示框:由于联系不到当时给我安装的那个人了,所以一时陷入了焦灼的状态,因为我安装另一个终端准入,会直接提示冲突了。所以经过注册表(regedit)、任务管理器等各种折腾之后,最后都失败了,然后想起了多年前在吾爱论坛学到过的东西,最后意外的找到了密码,然后就完美成功卸载了。

布啦啦 7805

Spring用回调HibernateCallBack方法实现持久层功能

HibernateTemple 类包含了一些简便的方法供我们试用,如:hibernateTemplate().save(object);    hibernateTemplate().update(object);    hibernateTemplate().delete(object);和hibernateTemplate().find(hql);等。Spring用回调Hibernat

张凡的专栏 2013

金属表面粗糙度对信号的影响

之前的文章中,已经采用CST中的微带线模块进行了很多的仿真分析,本文将再次利用这些模块,从另外一个角度去探讨关于传输线的使用问题--金属的表面粗糙度。 众所周知,数据传输中,当速率越来越高时,信号在金属介质中的趋肤效应就愈发明显,能量就会更多地集中于金属的表面进行流动,此时,如果金属表面不再光滑而是凹凸不平,能量的传输过程就会产生波动,当这种波动积累到一定的量级,就会严重影响到传输线的阻抗稳定性,从而导致信号失真和传输异常。

一只豌豆象的博客 2896

实现自己的HibernateCallBack

我们知道,Spring中,HibernateTemplate是依靠回调函数HibernateCallBack来实现其功能的,但在我们的系统中,这个CallBack可能不满足我们的要求,这时,我们就需要实现自己的HibernateCallBack,本文讨论实现自己的HibernateCallBack的方法.1:声明回调接口public interface HongSoftCallback {  

【洪波@阿里云】 1767

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HibernateTemplate.execute(HibernateCallback action)回调方式

今天在做codereview的时候,发现同事用了以下方法返回一个list。看了后台日志之后,很是奇怪,为什么只有一条sql,后台却打出了101条select。 /** * 根据练习加载试题 * 每次练习考试,有多条试题questionBank * 如果试题questionBank是选择题,又会对应4个选项questionOptions。 * 因此questionBank对象中有一个questionOptions集合,他们的关系是一对多 * @param pmId 练习ID

7223

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用hibeinateTemplate进行批量删除的两种方法

使用spring + hibernate框架中,一般使用hibernateTemplate对数据进行操作,但是使用hibernateTemplate进行批量删除没有hibernate那么方便,经过自己查找资料和尝试,有两种比较常用的方法。(自己也是初学框架,在这里献丑了!)

712

spring 对于hibernate操作的封装 HibernateCallback接口的学习

spring 对于hibernate操作的封装 HibernateCallback接口的学习

宋黎江的专栏 668

Hibernate_HibernateCallback

HibernateTemplate还提供一种更加灵活的方式来操作数据库,通过这种方式可以完全使用Hibernate的操作方式。HibernateTemplate的灵活访问方式是通过如下两个方法完成: Object execute(HibernateCallback action) List execute(HibernateCallback action) 这两个方法都需要一个Hibern...

ALL TECHNOLOGIES ARE CLOUDS 208

spring对hibernate的集成中的回调(CallBack)机制

回调函数对于我们来说并不陌生,之前我们在学习js的时候经常用到回调函数,在java基础中也接触到了回调函数,在这篇博客中我们将介绍spring和hibernate集成后的回调函数的使用。   为什么使用回调函数?      我们都知道程序员在完成CRUD操作的时候,需要用到session来操作,但是在spirng和hibernate集成以后,session是有spring容器来产生并且管理,

Jack 架构师之路 3113

Java中的回调

前段时间在学Hibernate的时候看了一下Spring中的对Hibernate的包装,其中的HibernateTemplate类中使用了execute(HibernateCallback action)来实际做各种Hibernate操作,其中HibernateCallback是一个用来回调的接口       public interface HibernateCallback{  Objec

xiaoniba1024的专栏 1339

Java中的回调学习

前段时间在学Hibernate的时候看了一下Spring中的对Hibernate的包装,其中的HibernateTemplate类中使用了execute(HibernateCallback action)来实际做各种Hibernate操作,其中HibernateCallback是一个用来回调的接口      public interface HibernateCallback{ Object do

NotePad 2431

getHibernateTemplate().execute(new HibernateCallback())方法

1. HibernateCallback是一个接口,该接口只有一个方法doInHibernate(org.hibernate.Session session),该方法   只有一个参数 Session。   2. 方法 doInHibernate 的方法体就是 Spring执行的持久化操作。   3. 使用HibernateTemplate执行execute(n

wangweiguang2的专栏 433
上一篇: [转]Spring中WebApplicationContext的研究
下一篇: spring+hibernate之applicationContext.xml配置
wiley007
博客等级 码龄20年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值