`
twh1224
  • 浏览: 95664 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Hibernate回调模式

阅读更多
通过回调模式,把相同的部分抽取出来。

//通过构造HibernateCallback的匿名对象,调用doInHibernate方法,可以完成save操作
//关于session对事务的操作就抽取出来了
class  Test
{
	public static void main(String[] args) 
	{
		Test1 t1 = new Test1();
		t1.persistent(new HibernateCallback(){

			public void doInHibernate(Session session) throws Exception{
				session.save(object);
			}
			
		});
	}
}


public class Test1
{
	public void persistent(HibernateCallback hibernateCallback) {
		Session session = HibernateUtils.getSession();
		try
		{
			session.beginTransaction();
			hibernateCallback.doInHibernate();
			session.getTransaction.commit();
		}
		catch (Exception e)
		{
			session.getTransaction().rollback();
			throw e;
		}
		
	}
}

public interface HibernateCallback
{
	public void doInHibernate(Session session) throws Exception;
}
分享到:
评论

相关推荐

    深入浅出Hibernate中文版 part1

    5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 6.3 E-R建模及工具集 6.4 对象建模 6.5 项目的目录组织和基础设施 6.6 测试...

    hibernate_3.2官方开发包

    10. **Callback事件**:Hibernate允许在对象生命周期中的特定时刻(如加载、保存、更新和删除)注册回调方法,实现业务逻辑。 11. **Association Mapping关联映射**:Hibernate支持一对一、一对多、多对一、多对多...

    Hibernate原理解析

    通过回调方法如`@PrePersist`、`@PostLoad`等,开发者可以在特定生命周期阶段执行自定义逻辑。 通过仿写Hibernate的持久层框架,我们可以更好地理解这些概念并实践ORM的实现。`FrameTest`可能包含了实现这些功能的...

    ssh框架整合分页--内部类回调函数

    SSH框架整合分页——内部类回调函数 SSH(Spring、Struts2、Hibernate)是Java Web开发中常用的一种集成框架,它将Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面...

    hibernate教程hibernate教程

    Hibernate提供了回调和拦截机制,允许在特定事件(如对象保存、更新、删除等)前后执行自定义代码。这在数据同步、日志记录或其他业务逻辑处理中非常有用。 **配置二级缓存** 配置二级缓存需要指定缓存策略(如read...

    Hibernate Quickly 源代码

    9. Callback事件:Hibernate支持在对象生命周期中的特定时刻触发回调方法,如预加载、加载、保存、更新和删除。源码中可能包含这些事件的监听器实现。 通过深入研究《Hibernate Quickly 源代码》,开发者可以全面...

    Hibernate 操纵持久化对象

    Hibernate允许开发者定义对象的生命周期回调方法,如preInsert()、postInsert()、preUpdate()等,以便在对象状态改变时执行特定的业务逻辑。 **九、懒加载与立即加载** 懒加载(Lazy Loading)是一种优化策略,只在...

    hibernate.zip

    Hibernate允许开发者注册监听器,对对象的持久化过程进行干预,例如在对象保存前后的回调、状态改变的监听等。 综上所述,“hibernate.zip”文件中的内容应该涵盖了关于Hibernate框架的各个方面,包括基本概念、...

    hibernate(api_介绍)

    3. **回调接口** - **Interceptor**:此接口允许开发者监听Hibernate内部发生的事件,如对象加载、删除、保存和更新,从而实现定制的行为,如记录数据更改日志。 4. **映射接口** - **Type**接口:定义了...

    hibernate教材

    Hibernate 提供了回调机制,如预加载(pre-load)、加载后(post-load)、预更新(pre-update)、预删除(pre-delete)等,允许开发者在特定操作前后执行自定义逻辑。 十一、性能优化 为了提升性能,开发者应关注...

    Hibernate5中文用户使用手册

    拦截器和事件:这部分内容介绍了拦截器(Interceptors)以及原生事件系统和JPA回调的使用。 HQL与JPQL:Hibernate Query Language (HQL)和Java Persistence Query Language (JPQL)是Hibernate用于查询数据的语言。...

    hibernate4 全部jar包

    14. **事件监听器**:允许开发者自定义事件处理,如对象保存、更新、删除前后的回调函数。 15. **拦截器(Interceptor)**:类似于事件监听器,但能更深入地干预对象的生命周期,可以在对象的创建、加载、保存、...

    Hibernate3.3 API中文版

    最后,Hibernate的事件监听系统允许我们在特定操作前后执行自定义逻辑,例如,使用`@PrePersist`、`@PostLoad`等注解实现回调方法。 总之,《Hibernate 3.3 API中文版》文档覆盖了从基本的实体映射到复杂的查询、...

    Hibernate的高级操作[归纳].pdf

    在本章中,我们将深入探讨Hibernate的高级特性,特别是关于对象的持久化实现和回调与拦截机制。首先,让我们详细解析Hibernate的实体对象生命周期。 在Hibernate中,实体对象经历了三种不同的状态,它们分别是: 1...

    Hibernate5用户手册中文版

    12. 拦截器和事件章节,介绍了拦截器(Interceptors)的使用,Hibernate声明式安全的配置,以及JPA回调的处理。 13. HQL与JPQL章节,详细说明了Hibernate查询语言(HQL)和Java持久化查询语言(JPQL)的语法、大小写...

    hibernate4.jar

    9. **事件监听器和拦截器**:Hibernate允许开发者注册事件监听器和拦截器,对持久化操作进行自定义处理,如在对象保存前后的回调函数。 10. **多数据源支持**:通过SessionFactoryBuilder,Hibernate可以配置多个...

    深入浅出Hibernate中文版 part2

    5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 6.3 E-R建模及工具集 6.4 对象建模 6.5 项目的目录组织和基础设施 6.6 测试...

    hibernate4.3.9

    Hibernate 4.3.9 支持更多的实体生命周期回调方法,如`@PrePersist`,`@PostLoad`等,让开发者能更好地控制数据的处理流程。 8. **异步事件监听**: 引入了异步事件监听器,允许开发者在不阻塞主线程的情况下执行...

    hibernate中文文档

    10. **Callback事件**:Hibernate提供了一些生命周期回调方法,如preInsert、postLoad等,可以在对象的生命周期中插入自定义代码。 11. ** Criteria API**:这是一种更面向对象的查询方式,相比HQL,它更具有灵活性...

    hibernate延迟加载解决

    当第二行代码执行时,即尝试访问`user.getName()`,Hibernate会触发代理对象内部的回调机制。如果代理对象的`target`属性为空,那么Hibernate会发出SQL查询以加载实际的数据并创建真实的User对象,然后将其赋值给...

Global site tag (gtag.js) - Google Analytics