5.0 සිට , ඔබට දැන් එම අගයන් කැපවීමකින් සොයාගත හැකිය Enum: org.hibernate.boot.SchemaAutoTooling(අගය සමඟ වැඩි දියුණු කරන ලදිNONE 5.2 සිට ).
හෝ ඊටත් වඩා හොඳයි, 5.1 සිට , ඔබට JPA 2 සහ "උරුමය" හයිබර්නේට් ඩීඩීඑල් ක්රියාවන් ඒකාබද්ධ කරන භාවිතා කළ හැකිය .org.hibernate.tool.schema.Action Enum
නමුත් , ඔබට DataSourceමෙය සමඟ ක්රමලේඛනගතව වින්යාසගත කළ නොහැක . මෙය ඒකාබද්ධව භාවිතා කිරීම වඩා හොඳ org.hibernate.cfg.AvailableSettings#HBM2DDL_AUTOනමුත් වර්තමාන කේතය Stringවටිනාකමක් අපේක්ෂා කරයි (උපුටා ගැනීම උපුටා ගත් SessionFactoryBuilderImpl):
this.schemaAutoTooling = SchemaAutoTooling.interpret( (String) configurationSettings.get( AvailableSettings.HBM2DDL_AUTO ) );
… සහ enumදෙකෙහිම අභ්යන්තර අගයන් org.hibernate.boot.SchemaAutoToolingසහ org.hibernate.tool.schema.Actionඒවා ප්රසිද්ධියේ නිරාවරණය නොවේ.
මෙහි දී, නියැදි ක්රමලේඛන DataSourceවින්යාසය (මගේ වසන්ත ඇරඹුම් යෙදුම්වල භාවිතා වේ) එය සූදුවට ස්තූතිවන්ත වන .name().toLowerCase()නමුත් එය ක්රියා කරන්නේ ඉරකින් තොරව අගයන් සමඟ පමණි ( create-dropනිදසුනක් ලෙස නොවේ ):
@Bean(name = ENTITY_MANAGER_NAME)
public LocalContainerEntityManagerFactoryBean internalEntityManagerFactory(
EntityManagerFactoryBuilder builder,
@Qualifier(DATA_SOURCE_NAME) DataSource internalDataSource) {
Map<String, Object> properties = new HashMap<>();
properties.put(AvailableSettings.HBM2DDL_AUTO, SchemaAutoTooling.CREATE.name().toLowerCase());
properties.put(AvailableSettings.DIALECT, H2Dialect.class.getName());
return builder
.dataSource(internalDataSource)
.packages(JpaModelsScanEntry.class, Jsr310JpaConverters.class)
.persistenceUnit(PERSISTENCE_UNIT_NAME)
.properties(properties)
.build();
}