什么是默认值
hibernate.hbm2ddl.auto
在hibernate cfg文件映射中
是否可以删除
<property name="hibernate.hbm2ddl.auto">update</property>
这个来自配置文件的映射
如果我删除此属性是否会影响我的数据库
???
这就是答案:当您从配置中省略设置时,不会发生验证、更新、创建和删除。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);
}
只是省略 hibernate.hbm2ddl.auto 默认为 Hibernate 不做任何事情。
已经问过 SO 。关联
创建 SessionFactory 时自动验证模式 DDL 或将其导出到数据库。使用 create-drop,当 SessionFactory 显式关闭时,数据库模式将被删除。
validate | update | create | create-drop