我正在尝试实现一个简单的基于 Envers + 拦截器的方法来审核我的 Hibernate 实体。为此,按照典型方法,BaseEntity
所有审计属性都有一个:
BaseEntity{
createdOn;
createdBy;
updatedOn;
updatedBy;
}
在 中AuditInterceptor
,我已经重写onFlushDirty
和onSave
操作上述属性的方法,具体取决于它是实体保存还是更新。一切都按预期进行保存和更新。
我面临的问题是:我需要一种方法来操作删除操作的上述属性。覆盖onDelete
确实为我提供了state[]
数组的句柄,但修改它不会反映在 _AUD(审计)表中。简而言之:我也希望能够在审计表中审计删除操作。
有没有解决方法,或者我错过了什么?