是否有可用于为Hibernate或任何其他主流O / R映射框架订阅域对象更改的解决方案?例如,如果我在名为“Apple”的数据库中有一个表,我希望能够说“当任何Apple对象发生更改时通知我”或“任何Apple对象更改时”通知我“颜色”。当然,我希望不仅仅是“改变了某些东西”的通知,而是一个已更改对象的id列表或更改对象列表。这样的解决方案可以扩展。
总结要求:
答案 0 :(得分:3)
生成这些通知的所有更改是通过ORM进行的,还是可能通过JDBC或访问同一数据库的其他应用程序更改数据?
如果所有更改都通过ORM并且您正在使用Hibernate,那么您可以使用Hibernate的interceptors and events。
另一方面,如果对数据的所有更改都没有通过ORM,并且处理通知的代码非常简单,那么数据库触发器可能是更好的选择。