Чтобы понять это, нужно взглянуть на источник org.hibernate.cfg.SettingsFactory
(вы можете увидеть что-то другое в зависимости от используемой версии):
String autoSchemaExport = properties.getProperty( AvailableSettings.HBM2DDL_AUTO );
if ( "validate".equals(autoSchemaExport) ) {
settings.setAutoValidateSchema( true );
}
else if ( "update".equals(autoSchemaExport) ) {
settings.setAutoUpdateSchema( true );
}
else if ( "create".equals(autoSchemaExport) ) {
settings.setAutoCreateSchema( true );
}
else if ( "create-drop".equals( autoSchemaExport ) ) {
settings.setAutoCreateSchema( true );
settings.setAutoDropSchema( true );
}
else if ( !StringHelper.isEmpty( autoSchemaExport ) ) {
LOG.warn( "Unrecognized value for \"hibernate.hbm2ddl.auto\": " + autoSchemaExport );
}
В классе org.hibernate.cfg.Settings
эти переменныеинициализируется как:
private boolean autoCreateSchema;
private boolean autoDropSchema;
private boolean autoUpdateSchema;
private boolean autoValidateSchema;
, поэтому по умолчанию используется значение false.
Пропуск настройки hibernate.hbm2ddl.auto
должен отключить функциональность HBM2DDL_AUTO
, как было бы предложено hibernate.hbm2ddl.auto = none
, но в последнем случаевы получаете предупреждение в журнале.