【问题标题】:Retrieve audited entities name, old value and new value of the given revision检索给定修订版的审计实体名称、旧值和新值
【发布时间】:2016-11-04 17:08:00
【问题描述】:

我正在使用 envers 来审核 User 类,并将所有修改后的数据保存在 DB 中,并带有 rev 号。现在,我需要通过将修订号作为参数来恢复所有已编辑的实体名称、旧值和新值。

我已阅读 envers 文档,但找不到任何解决方案。

有人可以推荐吗?谢谢

【问题讨论】:

    标签: hibernate hibernate-envers


    【解决方案1】:

    修订号唯一标识实体的版本,因此在获取特定修订版的实体时,您会得到它当时的值。

    要获取字段的新旧值,如果您知道实体在修订版N 已更改,最简单的方法是获取修订版N-1N 的实体并比较您所在的字段有兴趣。

    这可以使用forRevisonsOfEntity 查询在单个查询中完成(请参阅AuditReaderAuditQueryCreator javadocs

    【讨论】:

    • 谢谢,但你能建议怎么做吗,我也需要比较一下。谢谢
    • 如果我们比较修订版 N 和 N-1,不能保证我们比较的是同一个实体。修订号在所有实体中都是唯一的。带有该实体的 PK 的修订号将是关键。因此,您需要找到相同 Pk 的早期版本,然后进行比较。我错过了什么吗?
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 2019-08-20
    • 2013-07-08
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2020-03-26
    • 2018-11-04
    相关资源
    最近更新 更多