一尘不染

Java-Hibernate hbm2ddl.auto配置的可能值是什么,它们做什么?

java

我真的很想了解更多有关更新,导出以及可以提供的值的信息,hibernate.hbm2ddl.auto
我需要知道何时使用更新,何时不使用更新?还有什么选择?

这些是可能在数据库上发生的更改:

  • new tables
  • new columns in old tables
  • columns deleted
  • data type of a column changed
  • a type of a column changed its attributes
  • tables dropped
  • values of a column changed

在每种情况下,最佳解决方案是什么?


阅读 307

收藏
2020-02-24

共1个答案

一尘不染

hibernate.hbm2ddl.auto创建SessionFactory时,自动将模式DDL验证或导出到数据库。使用create-drop时,显式关闭SessionFactory时将删除数据库架构。

例如验证| 更新| 创建| 创建放置

因此,可能的选项列表是

  • validate:验证模式,不对数据库进行任何更改。
  • update:更新架构。
  • create:创建模式,销毁先前的数据。
  • create-drop:在显式关闭SessionFactory时(​​通常是在应用程序停止时),删除架构。
  • none:对模式不执行任何操作,不对数据库进行任何更改
2020-02-24