0

我在我的springboot项目中使用hibernate envers。因此,审计表将包含所有历史数据,但已删除修订的数据除外,因为在属性文件中我们没有设置spring.jpa.properties.org.hibernate.envers.store_data_at_delete=true

现在我们要手动更新所有已删除的修订数据。在休眠环境中是否可以使用审计表中的某些字段更新已删除的修订行。

示例:我有带有 id(int)、name(string)、age(int)、address(string) 的员工表。我创建了带有 id、name、age、address、revtype、revid 的审计表。在我的审计表中,将为每个 ADD、MOD、DEL 添加新行。但是对于修订版 DEL,只有 id、revtype 和 revid 被插入,所有其他字段为空。是否可以使用其他字段更新此审核表以进行已删除的修订。

4

1 回答 1

0

技术上可以(如果您能够在删除时确定实体的状态)更新审计表中代表DEL修订类型的行以及每列的状态。

对于与其他表没有关系的基本实体,此过程非常简单;但是,如果您的实体具有关联或使用中间审计实体表,则需要注意正确更新引用以避免使用AuditReader.

于 2022-01-13T07:07:19.793 回答