我有一个模块,它使用 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/