【Hibernate】HibernateCallback总结

本文总结了HibernateCallback在HibernateTemplate中的使用,通过实现该接口,可以在数据库访问中获得更大的灵活性。HibernateCallback的doInHibernate方法允许开发者直接使用Hibernate进行操作,解决了Spring封装后灵活性不足的问题。同时,文章探讨了不同方式获取Session的差异,强调了HibernateTemplate在事务管理和线程安全方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HibernateCallback总结

HibernateTemplate提供了非常多的常用方法来 完成数据库的基本操作,使得持久层访问模板化 。只要创建HibernateTemplate实例后,注入一 个SessionFactory的引用就可以了,而无需手动 创建sessionFactory,从而可以更加智能的管理 Hibernate的Session,避免了对于try/catch的 大量使用。

HibernateTemplate操作数据库的基本方法

对于Hibernate的复杂用法HibernateCallBack, HibernateTemplate也提供了一种更加灵活的方 式来操作数据库。通过这种方式可以完全使用 Hibernate的操作方式。

HibernateTemplate的灵活使用方式是通过如下方式完成的:
这里写图片描述

这三个方法都需要HibernateCallBack实例, HibernateCallBack实例可以在任何有效的数据 库访问中使用。开发者通过HibernateCallBack 可以完全使用Hibernate灵活的方式来访问数据 库,解决Spring封装Hibernate后导致的灵活性 不足的缺陷。

HibernateCallback是一个接口,该接口只有一 个方法doInHibernate(org.hibernate.Session session), 该方法只有一个参数Session。

通常,程序中采用实现HibernateCallback的匿 名内部类来获取HibernateCallback的实例, 方 法doInHibernate的方法体就是Spring执行的持 久化操作。

如下为一个HibernateCallBack实现的分页查询工具类

/**
 * HibernateCallBack实现分页查询
 * @author lmb
 *
 */
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class HibernateCallBackPageUtil
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值