一尘不染

休眠Envers-获取已更改的字段

hibernate

我有一个相当复杂的数据库结构,正在尝试进行审核。目前,我正在运行Envers,并且它审核对每个对象所做的更改。这真的很好!

我现在想在用户界面上显示一些审核信息。对象/表变得非常复杂,因此我正在寻找一种方法来查看审核中哪些字段已更改。当前Envers存储每个带有修订ID的对象的快照。我可以查看每个对象的修订版本,然后手动查询以查看发生了什么更改,但是我想知道是否有一种方法可以Envers存储哪些字段已更改。这可能吗?我从2011年开始找到链接,建议您手动检查每个对象字段。我在这里关心的是速度。我有很多相关的对象,可能只有一个更新的字段。我将不得不查询很多字段以查找已更改的字段。

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

谢谢

编辑

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


阅读 218

收藏
2020-06-20

共1个答案

一尘不染

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

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

2020-06-20