【发布时间】:2017-01-17 10:32:03
【问题描述】:
我已经在我的 Springboot 项目中配置了 Hibernate Envers,现在它正在保存我用 @Audited 注释的实体中的每个更改,但是,我有一个疑问。
Envers 存储实体的修订在第一次更改完成后,在一次更改后,我将新值存储在实体表和 _AUD 表中。下一个更改存储在 _AUD 表中,因此我知道第一次更新后发生了什么更改,但原始值(第一次更改之前的值)丢失了。我错过了什么吗?有没有办法在更改完成之前保存值(因为我已经拥有实体表中的最后一个值)?。
【问题讨论】:
-
您的_AUD 表中是否有一行带有
REVTYPE=0或者它们都是REVTYPE=1或REVTYPE=2? -
@Naros 只有 1 和 2,所以……Envers 好像没有审核创建,会不会?
-
是的。如何将记录插入表中以开始?记录是偶然保存在集合中的实体吗?
-
@Naros 我发现了问题。有一个在数据库中插入行的过程,而 Envers 似乎并不知道它,因此它不会审核这些操作。感谢您为我指明正确的方向。
标签: spring-boot hibernate-envers