Hibernate: hbm2ddl.auto=update in production?
是否可以运行配置为在生产环境中更新数据库架构的 Hibernate 应用程序?hbm2ddl.auto=update
是否可以运行配置为在生产环境中更新数据库架构的 Hibernate 应用程序?hbm2ddl.auto=update
不,这是不安全的。
尽管Hibernate团队尽了最大的努力,但您根本无法在生产中依赖自动更新。编写您自己的补丁,使用 DBA 进行复习,测试它们,然后手动应用它们。
从理论上讲,如果hbm2ddl更新在开发中起作用,那么它也应该在生产中起作用。但实际上,情况并非总是如此。
即使它工作正常,也可能是次优的。DBA的报酬是有原因的。
我们在生产环境中这样做,尽管使用的应用程序不是关键任务,并且员工中没有高薪DBA。它只是一个容易出错的手动过程 - 应用程序可以检测到差异并做正确的事情,而且您可能已经在各种开发和测试环境中对其进行了测试。
一个警告 - 在群集环境中,您可能希望避免它,因为多个应用程序可以同时出现并尝试修改架构,这可能是坏的。或者放入某种机制,其中只允许一个实例更新架构。