提问者:小点点

检索给定修订的已审核实体名称、旧值和新值


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

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

有人能建议吗?谢谢


共1个答案

匿名用户

修订号唯一标识实体的版本,因此当在特定修订中获取实体时,您可以使用它当时的值获取它。

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

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