休眠 hbm2ddl.auto default value

2022-09-01 08:03:32

的默认值是什么

hibernate.hbm2ddl.auto

在休眠 cfg 文件映射中

是否可以删除

<property name="hibernate.hbm2ddl.auto">update</property>

此映射来自配置文件

如果我删除此属性是否影响我的数据库

???


答案 1

这就是真正的答案:配置中省略设置时,不会进行验证,无需更新,无需创建,也不会发生丢弃。休眠源代码是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);
}

答案 2

只是省略hibernate.hbm2ddl.auto默认为Hibernate不做任何事情。

已经在SO中问过了。链接


推荐