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