默认值是多少
hibernate.hbm2ddl.auto
在hibernate cfg文件映射中? 可以去掉吗
<property name="hibernate.hbm2ddl.auto">update</property>
来自配置文件? 如果我删除这个属性会影响我的数据库吗???
这确实是答案:当从配置中省略设置时,会发生no验证、no更新、no创建和no删除。 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