`
tenn
  • 浏览: 576288 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Hibernate回调与拦截机制

阅读更多
1,Lifecyle 与 Validatable
Hibernate通过Lifecyle,Validatable接口制定了实体对象CRUD过程中的回调(CallBack)方式。

public class TUser implements Serializable,Lifecyle{
  public boolean onSave(Session s) throws CallBackException{
    ...
    return false; //insert操作正常执行
    ...
  }

  public boolean onUpdate(Session s) throws CallBackException{
    ...
    if(...)  return true;//update操作将被中止
     ...
  }

  onDelete();
  onLoad();
}

对于onSave,onUpdate,onDelete方法,如果返回true则意味着需要中止执行对应的操作过程。如果代码运行期间抛出了CallBackException,对应的操作也会被中止。注意,不要试图在这些方法中调用Session进行持久化操作,这些方法中的Session无法正常使用。如果必须进行持久化操作,需要进行一些特殊处理。

Validatable.java
---此接口定义了数据验证实现方式,实体类实现Validatabale接口,并在validate对当前待保存的数据进行验证,以保证数据逻辑合法。Validatable.validate方法将在实体被持久化之前得到调用一对数据进行验证。---应仅用于数据本身的逻辑校验,而不要试图在此实现业务逻辑的验证。实体类需实现此接口。

2,Interceptor接口---定义了Hibernate中通用的拦截机制。Session创建时即可以指定加载相应的Interceptor,之后,此Session的持久化操作动作都将首先经由此拦截器捕获处理。
在创建Session实例时,我们可以通过编码加载Interceptor:
SessionFactory sessionFactory = config.bulidSessionFactory();
Interceptor it = new MyInterceptor();
session = sessionFactory.openSession(it);
--------此后,此Session的所有动作均会被此Interceptor捕获。





分享到:
评论

相关推荐

    深入浅出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中文版 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 测试...

    Hibernate的高级操作.pdf

    #### Hibernate回调与拦截机制 除了持久化实现外,Hibernate还提供了一系列的事件捕获和处理机制,允许开发者在特定时刻执行自定义代码,增强了应用程序的灵活性和扩展性。 ##### Lifecyle与Validatable接口 - **...

    Hibernate的高级操作

    #### Hibernate回调与拦截机制 Hibernate提供了一套强大的事件监听系统,允许开发者在特定时刻执行自定义逻辑。这包括但不限于实体的创建、更新、删除等生命周期事件。 - **Lifecycle与Validatable接口**:`...

    深入浅出Hibernate

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了 Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、 ...

    中文 深入浅出Hibernate

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    深入浅出Hibernate(PDF)第一部分

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

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

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

    深入浅出Hibernate(PDF)第二部分

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    深入浅出hibernate(PDF)第三部分

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    深入浅出Hibernate2

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    \深入浅出Hibernate

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    hibernate教程hibernate教程

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

    《深入浅出Hibernate》1

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、...

    hibernate最新版本5.2.3所有jar包

    - Hibernate提供了对JPA规范的扩展,如`@PrePersist`、`@PostLoad`等回调注解,增强了实体的生命周期管理。 10. **性能优化**: - Hibernate提供了各种性能调优选项,包括批处理、延迟加载、懒加载等策略,以适应...

    夏昕.深入浅出Hibernate

    再由Hibernate概述、Hibernate基础Hibernate高级特性顺序展开,直至Hibernate实战,重点讲述了 Hibernate的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、Hibernate回调与拦截、 ...

    hibernate4.jar

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

Global site tag (gtag.js) - Google Analytics