Hibernate hbm2ddl.auto, possible values, and what they do
我正在查看Hibernate
-
validate -
update -
create -
create-drop
所有这些价值观做了什么?
Hibernate参考文档仅简要介绍了
hibernate.hbm2ddl.auto Automatically validates or exports schema DDL to the database when the
SessionFactory is created. Withcreate-drop , the database schema will be dropped when theSessionFactory is closed explicitly.e.g.
validate |update |create |create-drop
我在这些Stack Overflow问题中找到了非常有用的解释:
- Hibernate hbm2ddl.auto可能的值和它们的作用是什么?
- 架构不会在hbmddl.auto = create.drop上删除
但官方文档中仍然没有任何内容。
对于
- validate:验证模式是否匹配,不对数据库的模式进行任何更改,您可能希望将其用于生产。
- 更新:更新架构以反映持久化的实体
- create:创建实体所需的模式,销毁任何以前的数据。
- create-drop:在上面的create中创建模式,但也在会话结束时删除模式。这在早期开发或测试中很有用。
您提供的链接已经是官方文档。所以,今天没有任何更正式和全面的内容。
所以我想你的问题的答案是双重的:
- 要么在Hibernate问题跟踪器中提交增强请求(最好使用提案)
- 或阅读相应的代码
我知道这不是你梦寐以求的完美答案,但实际上这就是你今天所拥有的。
但好消息是该项目是开源的,所以你需要帮助改进它:-)。
文档已更新,以包含此信息。以下是此功能的官方当前文档的链接。
hibernate.hbm2ddl.auto (e.g. none (default value), create-only, drop,
create, create-drop, validate, and update)Setting to perform SchemaManagementTool actions automatically as part of the SessionFactory lifecycle. Valid options are defined by the
externalHbm2ddlName value of the Action enum:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 none
No action will be performed.
create-only
Database creation will be generated.
drop
Database dropping will be generated.
create
Database dropping will be generated followed by database creation.
create-drop
Drop the schema and recreate it on SessionFactory startup. Additionally, drop the schema on SessionFactory shutdown.
validate
Validate the database schema
update
Update the database schema