我需要根据一些数据库验证我的hibernate映射文件。我们有一个相当复杂的模式,由于各种原因,我们在不同的数据库上有不同的模式分支。因此,我希望能够将hibernate映射文件与数据库进行比较。我试过
hbm2ddl=validate
标志,但这在它找到的第一个差异时抛出错误并停止。有没有办法继续打印所有的差异?或者一些hibernate插件或其他免费工具?
我看过像Liquibase这样的东西,如果它是最好的选择,我会沿着这条路走下去,但似乎因为我已经设置了hibernate,一些配置我可以改变或一个插件,我可以直接插入将是最简单的。
Hibernate HBMDDL工具并不是增量更新数据库模式的最佳工具。它是一个有用的初始脚本生成器,但从那时起,你应该使用Liquibase或FlywayDB。
我还可以向您推荐一本Hibernate集成测试策略指南,它详细说明了为什么使用增量更新解决方案更合适。
这样您就不需要验证模式,因为生产环境和开发环境将共享相同的模式。
Hibernate只需要将现有模式映射到您的域模型类。