我正在使用 Hibernate Envers 进行审计。更新后和插入后工作正常。
我有一个要求,我只需要审计审计表中的更新列(例如employee_aud)。默认情况下,envers 会将整个持久化实体插入到审计表中。
我只需要插入更新的值。
有没有可能这样做?
提前致谢。
干杯!
我正在使用 Hibernate Envers 进行审计。更新后和插入后工作正常。
我有一个要求,我只需要审计审计表中的更新列(例如employee_aud)。默认情况下,envers 会将整个持久化实体插入到审计表中。
我只需要插入更新的值。
有没有可能这样做?
提前致谢。
干杯!
如果您没有为插入后配置 envers 侦听器会发生什么?
我的意思是如果你从你的配置中取出插入后的监听器?
<listener class="org.hibernate.envers.event.AuditEventListener" type="post-insert"/>
当您使用 注释实体时@Audited
,您可以控制 Envers 在发生更改时应检查哪些属性。然后将这些属性在旧状态和新状态之间进行比较,如果有任何不同,Envers 将使用所有已审计属性的新状态值写入新的审计记录。
换句话说,Envers 不会仅使用您为审计切换的修改后的属性编写新的审计行。如果其中任何一个发生更改,它将写入一个包含所有已审计属性的新审计行。