Hibernate小组说这是一个已知的限制,无法设置顺序。但是在生产中使用Hibernate时,您不应该依赖hbm2ddl,这是相当有限的事情,例如它可以添加列,但不能删除它。取而代之的是,人们通常使用Liquibase或FlyWay或DbDeploy之类的工具来创建数据库迁移,这为您提供了更大的灵活性并可以控制架构更新。
为了描述这种方法如何起作用:假设您有一个UAT环境,并且刚刚更新了架构-
您想向现有列添加非空约束。使用hbm2ddl是不可能的,您将迫使QA从头开始重新创建数据库。使用上述工具,您需要添加一个SQL文件,这些工具将运行此新脚本,分别更新架构。您可能还需要设置hbm2ddl
= verify,以确保当前的数据库模式是最新的,反之亦然-Hibernate映射是正确的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)