java - hibernate 上的触发器(也许这称为拦截器)

标签 java hibernate

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

最佳答案

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

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

The Interceptor interface provides callbacks from the session to the application, allowing the application to inspect and/or manipulate properties of a persistent object before it is saved, updated, deleted or loaded.

这里有一个简单的示例,说明如何编写并配置它。

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

关于java - hibernate 上的触发器(也许这称为拦截器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460750/

相关文章:

java - 奇数相加的递归方法

java - 双向级联

java - 使用 hibernate 管理多对多关系

java - 如何在 JavaFX WebView 中显示 HTML 文档

java - 将多个 JTextFields 传递给 boolean 方法

java - Android:下载大量文件并将其保存在SD卡上

java - 无法通过 hibernate 部署到 Wildfly 10

Hibernate 多对一延迟加载不起作用

mysql - Hibernate:在删除父集合时不删除子集合

java - Java 中是否有替代 Thread.sleep 的方法