【问题标题】:A trigger on hibernate (maybe this is called interceptor)休眠的触发器(也许这被称为拦截器)
【发布时间】:2010-03-17 08:34:06
【问题描述】:

我有一个模块,它使用 Hibernate 作为 ORM 解决方案,使用 EHCache 作为二级缓存。 我有另一个单独的模块来插入和更新数据库。 我需要的是能够在插入或更新行时触发事件。 假设我有一个客户表,它被映射到一个客户实体。 我想要一些程序来通知我添加了一个新客户。 关于第二个单独的模块,它也使用 Hibernate,但至少暂时它们没有连接(我指出这一点好像有人认为我必须在它们之间共享 Hibernate 会话(或类似的东西)然后这是我会考虑的)。 请注意,我对 Hibernate 的经验有限。 提前致谢

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    Hibernate 拦截器可能是您所需要的

    http://docs.jboss.org/hibernate/stable/core/reference/en/html/events.html

    Interceptor 接口提供 从会话回调到 应用程序,允许应用程序 检查和/或操纵 持久对象的属性 在保存、更新、删除之前 或加载。

    有一个简单的例子说明如何编写和配置它。

    还有事件系统,它是 SQL 级别操作的一个较低级别的挂钩,但这可能比您需要的要复杂一些。

    【讨论】:

    • 首先感谢您的评论,这种机制不依赖于我的实体的所有更改都在同一个会话中生成的事实吗?因为我的休眠会话可以在某些时候“突然看到”数据库中的新对象
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2020-05-23
    • 2014-02-02
    • 1970-01-01
    相关资源
    最近更新 更多