parent
56e70ca585
commit
251dbddc6e
|
@ -160,6 +160,7 @@ public class DataSourceInitialization implements
|
||||||
return resources;
|
return resources;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("serial")
|
||||||
public static class DataSourceInitializedEvent extends ApplicationEvent {
|
public static class DataSourceInitializedEvent extends ApplicationEvent {
|
||||||
|
|
||||||
public DataSourceInitializedEvent(DataSource source) {
|
public DataSourceInitializedEvent(DataSource source) {
|
||||||
|
|
|
@ -27,6 +27,7 @@ import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.boot.orm.jpa.SpringNamingStrategy;
|
import org.springframework.boot.orm.jpa.SpringNamingStrategy;
|
||||||
import org.springframework.orm.jpa.vendor.Database;
|
import org.springframework.orm.jpa.vendor.Database;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* External configuration properties for a JPA EntityManagerFactory created by Spring.
|
* External configuration properties for a JPA EntityManagerFactory created by Spring.
|
||||||
|
@ -181,8 +182,12 @@ public class JpaProperties {
|
||||||
private Map<String, String> getDeferredAdditionalProperties(
|
private Map<String, String> getDeferredAdditionalProperties(
|
||||||
Map<String, String> properties, DataSource dataSource) {
|
Map<String, String> properties, DataSource dataSource) {
|
||||||
Map<String, String> deferred = getAdditionalProperties(properties);
|
Map<String, String> deferred = getAdditionalProperties(properties);
|
||||||
deferred.put("hibernate.hbm2ddl.auto",
|
String ddlAuto = getDeferredDdlAuto(properties, dataSource);
|
||||||
getDeferredDdlAuto(properties, dataSource));
|
if (StringUtils.hasText(ddlAuto) && !"none".equals(ddlAuto)) {
|
||||||
|
deferred.put("hibernate.hbm2ddl.auto", ddlAuto);
|
||||||
|
} else {
|
||||||
|
deferred.remove("hibernate.hbm2ddl.auto");
|
||||||
|
}
|
||||||
return deferred;
|
return deferred;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,7 +202,7 @@ public class JpaProperties {
|
||||||
DEFAULT_NAMING_STRATEGY.getName());
|
DEFAULT_NAMING_STRATEGY.getName());
|
||||||
}
|
}
|
||||||
if (this.deferDdl) {
|
if (this.deferDdl) {
|
||||||
result.put("hibernate.hbm2ddl.auto", "none");
|
result.remove("hibernate.hbm2ddl.auto");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result.put("hibernate.hbm2ddl.auto", this.ddlAuto);
|
result.put("hibernate.hbm2ddl.auto", this.ddlAuto);
|
||||||
|
|
|
@ -16,6 +16,11 @@
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.orm.jpa;
|
package org.springframework.boot.autoconfigure.orm.jpa;
|
||||||
|
|
||||||
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
|
import static org.hamcrest.Matchers.is;
|
||||||
|
import static org.hamcrest.Matchers.nullValue;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
|
@ -29,9 +34,6 @@ import org.springframework.boot.test.EnvironmentTestUtils;
|
||||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
|
||||||
import static org.junit.Assert.assertThat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link HibernateJpaAutoConfiguration}.
|
* Tests for {@link HibernateJpaAutoConfiguration}.
|
||||||
*
|
*
|
||||||
|
@ -64,7 +66,7 @@ public class CustomHibernateJpaAutoConfigurationTests {
|
||||||
String actual = bean.getHibernateProperties(dataSource).get(
|
String actual = bean.getHibernateProperties(dataSource).get(
|
||||||
"hibernate.hbm2ddl.auto");
|
"hibernate.hbm2ddl.auto");
|
||||||
// Default is generic and safe
|
// Default is generic and safe
|
||||||
assertThat(actual, equalTo("none"));
|
assertThat(actual, is(nullValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue