【问题标题】:Hibernate envers - How to store only updated valuesHibernate envers - 如何只存储更新的值
【发布时间】:2012-09-29 19:32:42
【问题描述】:

我正在使用 Hibernate Envers 进行审计。更新后和插入后工作正常。

我有一个要求,我只需要审计审计表中的更新列(例如employee_aud)。 默认情况下,envers 会将整个持久化实体插入到审计表中。

我只需要插入更新的值。

有没有可能做到这一点?

提前致谢。

干杯!

【问题讨论】:

    标签: hibernate hibernate-envers post-update


    【解决方案1】:

    如果你不为后插入配置 envers 监听器会发生什么?

    我的意思是如果你从你的配置中取出插入后的监听器?

     <listener class="org.hibernate.envers.event.AuditEventListener" type="post-insert"/>
    

    【讨论】:

    【解决方案2】:

    当您使用 @Audited 注释实体时,您可以控制 Envers 在发生更改时应检查哪些属性。然后将这些属性在新旧状态之间进行比较,如果有任何差异,Envers 将使用所有已审计属性的新状态值写入新的审计记录。

    换句话说,Envers 不会编写新的审核行,其中仅包含您为审核而切换的修改后的属性。如果其中任何一个发生更改,它将写入一个包含所有已审计属性的新审计行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2018-01-04
      • 2018-12-02
      • 2017-06-27
      • 2015-02-06
      • 2014-09-19
      • 2014-12-01
      相关资源
      最近更新 更多