我需要针对某些数据库验证我的hibernate映射文件。我们有相当复杂的模式,由于各种原因,我们在各种不同的数据库上有不同的模式分支。所以我希望能够将我的hibernate映射文件与数据库进行比较。我试过了
hbm2ddl=validate
标志,但这会在找到并停止的第一个差异上引发错误。有没有办法继续并打印所有差异?或者一些用于休眠的插件或其他一些我可以使用的免费工具会做到这一点吗?
我已经看过像Liquibase这样的东西了,如果它是最好的选择,它会沿着这条路走下去,但似乎因为我已经有hibernate设置,我可以改变一些配置或者我可以插入的插件最容易的。
答案 0 :(得分:0)
Hibernate HBMDDL工具不是逐步更新数据库模式的最佳工具。它作为初始脚本生成器很有用,但从那时起你应该使用Liquibase或FlywayDB。
我还可以向您推荐Hibernate Integration Testing Strategy Guide,其中详细说明了为什么增量更新解决方案更适合。
这样您就不需要验证架构,因为生产环境和开发环境都将共享相同的架构。
然后Hibernate只需要将现有架构映射到域模型类。