diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java index 57efa9f3eed..dc14d65d97f 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java @@ -28,8 +28,9 @@ import org.springframework.orm.jpa.vendor.Database; /** * External configuration properties for a JPA EntityManagerFactory created by Spring. - * + * * @author Dave Syer + * @author Andy Wilkinson * @since 1.1.0 */ @ConfigurationProperties(prefix = "spring.jpa") @@ -99,7 +100,7 @@ public class JpaProperties { * Get configuration properties for the initialization of the main Hibernate * EntityManagerFactory. The result will always have ddl-auto=none, so that the schema * generation or validation can be deferred to a later stage. - * + * * @param dataSource the DataSource in case it is needed to determine the properties * @return some Hibernate properties for configuration */ @@ -109,7 +110,7 @@ public class JpaProperties { /** * Get the full configuration properties for the Hibernate EntityManagerFactory. - * + * * @param dataSource the DataSource in case it is needed to determine the properties * @return some Hibernate properties for configuration */ @@ -136,6 +137,10 @@ public class JpaProperties { this.namingStrategy = namingStrategy; } + public void setNamingstrategy(Class namingStrategy) { + this.setNamingStrategy(namingStrategy); + } + public String getDdlAuto() { return this.ddlAuto; } diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfigurationTests.java index cd05fce0dab..41f4c124775 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfigurationTests.java @@ -26,9 +26,10 @@ import static org.junit.Assert.assertThat; /** * Tests for {@link HibernateJpaAutoConfiguration}. - * + * * @author Dave Syer * @author Phillip Webb + * @author Andy Wilkinson */ public class HibernateJpaAutoConfigurationTests extends AbstractJpaAutoConfigurationTests { @@ -51,6 +52,21 @@ public class HibernateJpaAutoConfigurationTests extends AbstractJpaAutoConfigura assertThat(actual, equalTo("org.hibernate.cfg.EJB3NamingStrategy")); } + @Test + public void testNamingStrategyThatWorkedInOneDotOhContinuesToWork() { + EnvironmentTestUtils.addEnvironment(this.context, + "spring.jpa.hibernate.namingstrategy:" + + "org.hibernate.cfg.EJB3NamingStrategy"); + setupTestConfiguration(); + + this.context.refresh(); + LocalContainerEntityManagerFactoryBean bean = this.context + .getBean(LocalContainerEntityManagerFactoryBean.class); + String actual = (String) bean.getJpaPropertyMap().get( + "hibernate.ejb.naming_strategy"); + assertThat(actual, equalTo("org.hibernate.cfg.EJB3NamingStrategy")); + } + @Test public void testCustomNamingStrategyViaJpaProperties() throws Exception { EnvironmentTestUtils.addEnvironment(this.context,