由于历史原因,我们使用envers以及自定义审核机制。有些表由envers审核,但是一个表及其大多数相关表都是手动审核的。
我们的自定义解决方案会创建对象图的副本,添加时间戳并将*历史记录对象保存到相应的表中。
假设我们有一个实体A
,它引用了一组实体B
,它引用了一组实体C
。
如果我们检测到A
的更新或插入,我们会创建一个副本A_History
,该副本引用引用实体B_History
集合的实体C_History
的集合。引用实体的所有属性都将复制到相应的*历史记录对象中,并且完整图形将保留。实际上,我们正在处理12个表来表示对象图。
为了摆脱旧代码并统一行为,我们希望将所有审计迁移到envers。但是我们当然希望保留已有的历史,即使它不是由envers创建的。
如果在现有项目中引入了envers,我找到了一些创建初始修订信息的指南。但我没有找到任何帮助来迁移未由envers管理的现有修订信息。
除了编写原始sql语句之外,还有办法进行迁移吗?
答案 0 :(得分:0)
目前不支持 import 类型功能将外部审计信息加载到Envers审计表结构中,因此SQL语句将是目前播种Envers审计历史记录的唯一选择。 / p>