【发布时间】:2010-10-05 18:46:42
【问题描述】:
我们对我们的项目有一个要求,我们需要维护对应用程序中某些实体所做的更改的某种历史记录。该应用程序是一个基于 Struts、Spring 和 Hibernate 的 Java Web App。在这种情况下使用了什么样的方法?
- 各自表上的触发器是一种想法,但它们不容易维护?也许它们也不应该是事务的一部分(如果触发器失败,它可以,但实体更新事务不应该失败)。
- 为此使用 AoP,因为它是一个横切关注点,但必须非常精细,例如仅在实体更改时捕获值。 (所有编辑都没有相应的不同方法……许多编辑发生在一个 java 方法中)。
- 使用休眠事件监听器。
还有其他方法可以进行此类活动吗?
【问题讨论】: