休眠枚举 - 获取已更改的字段

2022-09-02 14:01:16

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

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

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

谢谢

编辑

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


答案 1

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

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


答案 2

推荐