Hibernate hbm2ddl.auto可能的值和他们做什么?

问题:

我真的想更多地了解更新,导出和可以赋予hibernate.hbm2ddl.auto
的值
我需要知道什么时候使用更新,何时没有?还有什么办法?
这些是可能发生在DB上的更改:

  • 新表
  • 旧表中的新列
  • 列已删除
  • 列的数据类型已更改
  • 一种类型的列更改了它的属性
  • 表已被删除
  • 列的值已更改

在每种情况下最好的解决方案是什么?

回答:

community documentation

hibernate.hbm2ddl.auto创建SessionFactory时自动验证或将模式DDL导出到数据库。使用create-drop,当SessionFactory被明确关闭时,数据库模式将被删除。
例如验证|更新|创建|创建降

所以可能的选择的列表是,

  •  validate:验证模式,不会更改数据库。
  •  update:更新模式。
  •  create:创建模式,销毁先前的数据。
  •  create-drop:当显式关闭SessionFactory时,通常在应用程序停止时删除模式。

这些选项似乎是开发人员的工具,而不是为了方便任何生产级别的数据库,你可能想看看下面的问题; Hibernate: hbm2ddl.auto=update in production?

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Hibernate hbm2ddl.auto possible values and what they do?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

62 + = 66