我正在考虑从自我实现的版本控制解决方案切换到 Hibernate Envers,但我还不太确定。我已经阅读了很多关于它的内容,但我担心模式更改以及 Envers 在根据旧模式对历史数据进行处理后如何处理它们。
在这方面,您对 Envers 有何经验?您如何使用 Envers 处理架构更改和现有数据?
更新1:
这不仅仅是添加从表中删除简单的列,而是例如将简单的外键关系更改为具有两个 1:n 关系的单独实体(具有属性列的 M2M。这是您的“逻辑”更改数据模型。在使用 Envers 时,如果根据旧模型已经有历史数据,您如何处理?是否有替代手动编写 sql 脚本并将它们转换为新表示的替代方法?