我使用envers审计一个User类,它将所有修改后的数据保存在具有rev号的DB中。现在,我需要通过传递修订号作为参数来恢复所有编辑过的实体名称、旧值和新值。
我已经阅读了envers文档,但找不到任何解决方案。
有人能建议吗?谢谢
修订号唯一标识实体的版本,因此当在特定修订中获取实体时,您可以使用它当时的值获取它。
要获取字段的新旧值,如果您知道实体在修订N
时已更改,最简单的方法是在修订N-1
和N
处获取实体并比较您感兴趣的字段。
这可以使用forRevisonsOfEntity
查询在单个查询中完成(请参阅AuditReader
和AuditQueryCreator
javadocs)