我有一个使用hibernate 4.3.11的大型系统(A)。我们想使用hibernate-envers在几个表上引入审计。
但是我们希望在使用hibernate 5的其他系统(B)上使用审计日志。
鉴于系统B只从共享数据库中读取,在这种情况下是否可以混合使用hibernate版本?
答案 0 :(得分:1)
鉴于4.3.x和5.x版本流之间引入了Envers的更改,您很有可能以最小的努力完成您所要求的内容。
但是我确实需要让你知道5.x版本流中的一些错误修正可能需要一些可能不兼容的小的架构更改,所以一定要测试,因为根据你的映射可能存在一些情况你可以不能够做到这一点。
我理解为什么你的团队可能选择了这条道路,但我确实想催促你考虑另外的方法来避免共享数据库。
最终,您可能会遇到两个Hibernate / Envers版本不兼容或传统功能切换不再存在的问题,并且您在没有重大基础架构更改的情况下锁定使用没有明确升级路径的旧版本。
使用某种类型的事件源,触发器,数据复制,消息队列等来保持两个异构系统同步可以在这个空间中顺利进行,允许最大的灵活性,最少的耦合量,以及我认为的是最少的技术债务。