下面列出了怎么用org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings的API类实例代码及写法,或者点击链接到github查看源代码。
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder factory, DataSource dataSource, JpaProperties properties) {
HibernateSettings settings = new HibernateSettings();
settings.ddlAuto("create-drop");
Map<String, Object> jpaProperties = new HashMap<>(properties.getHibernateProperties(settings));
jpaProperties.put("hibernate.ejb.interceptor", hibernateInterceptor());
return factory.dataSource(dataSource).packages("com.example").properties(jpaProperties).build();
}
protected Map<String, Object> getVendorProperties(DataSource dataSource) {
String defaultDdlMode = this.defaultDdlAutoProvider
.getDefaultDdlAuto(dataSource);
Map<String, Object> vendorProperties = new LinkedHashMap<String, Object>();
vendorProperties.putAll(this.properties.getHibernateProperties(new HibernateSettings().ddlAuto(defaultDdlMode)
.implicitNamingStrategy(this.implicitNamingStrategy)
.physicalNamingStrategy(this.physicalNamingStrategy)
.hibernatePropertiesCustomizers(
this.hibernatePropertiesCustomizers)));
return vendorProperties;
}
protected Map<String, Object> getVendorProperties() {
String defaultDdlMode = "none";
LinkedList<HibernatePropertiesCustomizer> customizers = new LinkedList<>();
if (hibernatePropertiesCustomizers != null) {
customizers.addAll(hibernatePropertiesCustomizers);
}
customizers.addFirst(new LocJpaConfiguration.NamingStrategiesHibernatePropertiesCustomizer(
physicalNamingStrategy, implicitNamingStrategy));
return new LinkedHashMap<>(hibernateProperties
.determineHibernateProperties(jpaProperties.getProperties(),
new HibernateSettings().ddlAuto(() -> defaultDdlMode)
.hibernatePropertiesCustomizers(customizers)));
}