Hibernate hbm2ddl.auto,可能的值以及它们的作用

Dan*_*nga 41 orm hibernate properties hbm2ddl

我正在查看Hibernate hbm2ddl.auto配置属性及其可能的值:

  • validate
  • update
  • create
  • create-drop

所有这些价值观做了什么?

Hibernate参考文档只是简单地谈约create-drop,但并没有说明其他任何值:

hibernate.hbm2ddl.auto

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

例如 validate | update| create|create-drop

我在这些Stack Overflow问题中找到了非常有用的解释:

但官方文档中仍然没有任何内容.

wah*_*cse 64

对于hbm2ddl.auto财产,可能的选项列表是:

  • validate:验证模式是否匹配,不对数据库的模式进行任何更改,您可能希望将其用于生产.
  • 更新:更新架构以反映持久化的实体
  • create:创建实体所需的模式,销毁任何以前的数据.
  • 创建拖放:创建模式在创建上面,而且在会议结束时删除模式.这在早期开发或测试中很有用.

  • 请注意,**update** 不会创建不存在的表,而 **create** 将始终截断任何现有数据。没有办法自动告诉休眠 **仅在表不存在时才创建表** (2认同)
  • @ humanityANDpeace 我总是使用更新,我从来没有遇到过“缺少表”或其他问题 (2认同)

Bap*_*hus 12

您提供的链接已经是官方文档.所以,今天没有任何更正式和全面的内容.

所以我想你的问题的答案是双重的:

我知道这不是你梦寐以求的完美答案,但实际上这就是你今天所拥有的.

但好消息是该项目是开源的,所以你需要帮助改进它:-).