Java 如何将现有的自定义历史记录表迁移到envers

Java 如何将现有的自定义历史记录表迁移到envers,java,hibernate,auditing,Java,Hibernate,Auditing,由于历史原因,我们使用envers以及自定义审核机制。有些表由envers审核,但有一个表及其大多数从属表是手动审核的 我们的自定义解决方案创建对象图的副本,添加时间戳,并将*历史对象保存到相应的表中 假设我们有一个实体A,它引用一组实体B,它引用一组实体C。 如果我们检测到A的更新或插入,我们将创建一个副本A\u历史,该副本引用一组实体B\u历史,该副本引用一组实体C\u历史。被引用实体的所有属性都被复制到相应的*历史对象中,并且完整的图形被持久化。实际上,我们正在处理12个表来表示对象图 为

由于历史原因,我们使用envers以及自定义审核机制。有些表由envers审核,但有一个表及其大多数从属表是手动审核的

我们的自定义解决方案创建对象图的副本,添加时间戳,并将*历史对象保存到相应的表中

假设我们有一个实体
A
,它引用一组实体
B
,它引用一组实体
C
。 如果我们检测到
A
的更新或插入,我们将创建一个副本
A\u历史
,该副本引用一组实体
B\u历史
,该副本引用一组实体
C\u历史
。被引用实体的所有属性都被复制到相应的*历史对象中,并且完整的图形被持久化。实际上,我们正在处理12个表来表示对象图

为了摆脱旧代码并统一行为,我们希望将所有审核迁移到envers。但我们当然希望保留已经存在的历史,即使它不是由envers创建的

如果在现有项目中引入envers,我找到了一些创建初始修订信息的指南。但我没有找到任何帮助来迁移不由envers管理的现有修订信息


除了编写原始sql语句外,还有其他方法进行迁移吗?

目前不支持导入类型功能将外部审核信息加载到Envers审核表结构中,因此sql语句将是目前唯一可用于植入Envers审核历史记录的方法