Hibernate hbm2ddl.auto可能的值和他们做什么?
我真的想知道更多关于更新,导出和可以给hibernate.hbm2ddl.auto
的值
我需要知道何时使用更新,何时不使用? 什么是替代方案?
这些是可能发生在数据库上的变化:
在每种情况下,最好的解决方案是什么?
从社区文档:
hibernate.hbm2ddl.auto在创建SessionFactory时自动验证或将模式DDL导出到数据库。 使用create-drop,当SessionFactory显式关闭时,数据库模式将被删除。
例如验证| 更新| 创建| 创建降
所以可能的选项列表是,
这些选项似乎是要成为开发人员的工具,而不是为了方便任何生产级别的数据库,您可能需要查看以下问题; 休眠:hbm2ddl.auto =生产中更新?
还有“无”的无证价值完全禁用它。
配置属性称为hibernate.hbm2ddl.auto
在我们的开发环境中,我们设置了hibernate.hbm2ddl.auto=create-drop
以在每次部署时删除并创建一个干净的数据库,以便我们的数据库处于已知状态。
理论上,您可以设置hibernate.hbm2ddl.auto=update
来更新您的数据库,并对模型进行更改,但我不会相信生产数据库。 早期版本的文件表示这至少是实验性的; 我不知道目前的状况。
因此,对于我们的生产数据库,请勿设置hibernate.hbm2ddl.auto
- 默认情况下不进行数据库更改。 相反,我们手动创建一个SQL DDL更新脚本,将更改从一个版本应用到下一个版本。
上一篇: Hibernate hbm2ddl.auto possible values and what they do?
下一篇: Java: Why is the Date constructor deprecated, and what do I use instead?