的默认值是多少
hibernate.hbm2ddl.auto
在hibernate cfg文件映射
是否可以删除
<property name="hibernate.hbm2ddl.auto">update</property>
来自配置文件的这种映射
如果我删除此属性是否影响我的数据库
???
答案 0 :(得分:40)
这就是答案:没有验证,没有更新,没有创建和没有删除发生从配置中省略设置时。 hibernate源代码是关于Hibernate的最佳文档:
// from org.hibernate.cfg.SettingsFactory line 332 (hibernate-core-3.6.7)
String autoSchemaExport = properties.getProperty(Environment.HBM2DDL_AUTO);
if ( "validate".equals(autoSchemaExport) ) settings.setAutoValidateSchema(true);
if ( "update".equals(autoSchemaExport) ) settings.setAutoUpdateSchema(true);
if ( "create".equals(autoSchemaExport) ) settings.setAutoCreateSchema(true);
if ( "create-drop".equals(autoSchemaExport) ) {
settings.setAutoCreateSchema(true);
settings.setAutoDropSchema(true);
}
答案 1 :(得分:21)
省略hibernate.hbm2ddl.auto默认为Hibernate没有做任何事情。
已经在SO中提出过。 link
答案 2 :(得分:19)
创建SessionFactory时,自动验证或将架构DDL导出到数据库。使用create-drop,当SessionFactory显式关闭时,将删除数据库模式。
validate | update | create | create-drop