Hibernate Envers - 获取已更改的字段

时间:2013-01-02 16:29:04

标签: java hibernate audit hibernate-envers

我正在尝试审核一个相当复杂的数据库结构。目前我正在运行Envers,它会审核对每个对象所做的更改。这非常有效!

我现在想在UI上显示一些审核信息。对象/表格变得非常复杂,因此我一直在寻找一种方法来查看审计中哪些字段已更改。目前Envers存储标记有修订ID的每个对象的快照。我可以查看每个对象的修订版,然后手动查询以查看已更改的内容,但我想知道是否有一种方法可以让Envers存储哪些字段已更改。这可能吗?我在2011年找到了this链接,建议您手动检查每个对象字段。我关心的是速度。我有很多相关的对象,我可能只有一个更新的字段。我将不得不查询很多字段以找到已更改的字段。

是否可以存储已更改的字段?

由于

修改

我应该说我正在使用REVCHANGES表,所以我可以看到在什么版本中发生了什么变化但是这只是在实体级别而不是字段级别

1 个答案:

答案 0 :(得分:10)

在较新的Envers版本中,您可以使用布尔标志跟踪每个修订版本中更改的属性。参见:

http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#envers-tracking-properties-changes