我想实现一个简单的基于Envers +拦截器的方法来审计我的Hibernate实体。为此,按照典型的做法,有一个BaseEntity
与所有的审计特性:Envers with Hibernate Interceptor,onDelete
BaseEntity{
createdOn;
createdBy;
updatedOn;
updatedBy;
}
在AuditInterceptor
,我已经覆盖onFlushDirty
和onSave
方法来操作,这取决于它是否是一个实体保存或更新上述属性。一切按预期保存和更新。
我面临的问题是:我需要一种方法来能够操作Delete操作的上述属性。覆盖onDelete
的确给我一个state[]
数组的句柄,但修改它并不反映在_AUD(审计)表中。简而言之:我希望能够审计审计表中的删除操作。
有没有解决方法,或者我错过了什么?
哇。当我第一次看到你的答案时,我认为这个人错过了这个观点。但事实证明,我始终忽略了这一点。非常感谢! – pugmarx