【发布时间】:2010-10-20 14:58:56
【问题描述】:
我在这方面找到了几个讨论线程 - 但没有任何内容可以在一个线程下对所有三种机制进行比较。
所以这是我的问题...
我需要审核数据库更改 - 插入\更新\删除到业务对象。
我能想到三种方法来做到这一点
1) 数据库触发器
2) 休眠拦截器
3) Spring AOP
(这个问题特定于 Spring\Hibernate\RDBMS - 我想这对 java\c# 或 hibernate\nhibernate 是中性的 - 但如果您的答案取决于 C++ 或 Java 或 hibernate 的特定实现 - 请指定)
选择其中一种策略的优缺点是什么?
我不是在询问实现细节。-这是一个设计讨论。
我希望我们可以将其作为社区 wiki 的一部分
【问题讨论】:
-
还有另一种选择:至少有些数据库具有相同的审计功能。 Pro:非常依赖,可能是高性能;缺点:高度特定于供应商
标签: database hibernate audit spring-aop