Skip to content

Commit 4d30eb4

Browse files
committed
Adopt Hiberate's CamelCaseToUnderscoresNamingStrategy
Closes gh-27352
1 parent 99ada4e commit 4d30eb4

File tree

6 files changed

+17
-12
lines changed

6 files changed

+17
-12
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateProperties.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
import java.util.Map;
2222
import java.util.function.Supplier;
2323

24+
import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;
2425
import org.hibernate.cfg.AvailableSettings;
2526

2627
import org.springframework.boot.context.properties.ConfigurationProperties;
2728
import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
28-
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
2929
import org.springframework.util.Assert;
3030
import org.springframework.util.ClassUtils;
3131
import org.springframework.util.ObjectUtils;
@@ -175,7 +175,7 @@ private void applyNamingStrategies(Map<String, Object> properties) {
175175
applyNamingStrategy(properties, AvailableSettings.IMPLICIT_NAMING_STRATEGY, this.implicitStrategy,
176176
SpringImplicitNamingStrategy.class.getName());
177177
applyNamingStrategy(properties, AvailableSettings.PHYSICAL_NAMING_STRATEGY, this.physicalStrategy,
178-
SpringPhysicalNamingStrategy.class.getName());
178+
CamelCaseToUnderscoresNamingStrategy.class.getName());
179179
}
180180

181181
private void applyNamingStrategy(Map<String, Object> properties, String key, Object strategy,

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfigurationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import javax.transaction.UserTransaction;
3838

3939
import com.zaxxer.hikari.HikariDataSource;
40+
import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;
4041
import org.hibernate.boot.model.naming.ImplicitNamingStrategy;
4142
import org.hibernate.boot.model.naming.PhysicalNamingStrategy;
4243
import org.hibernate.cfg.AvailableSettings;
@@ -61,7 +62,6 @@
6162
import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration;
6263
import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
6364
import org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform;
64-
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
6565
import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
6666
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
6767
import org.springframework.boot.test.context.runner.ContextConsumer;
@@ -534,15 +534,15 @@ static class TestPhysicalNamingStrategyConfiguration {
534534

535535
@Bean
536536
PhysicalNamingStrategy testPhysicalNamingStrategy() {
537-
return new SpringPhysicalNamingStrategy();
537+
return new CamelCaseToUnderscoresNamingStrategy();
538538
}
539539

540540
}
541541

542542
@Configuration(proxyBeanMethods = false)
543543
static class TestHibernatePropertiesCustomizerConfiguration {
544544

545-
private final PhysicalNamingStrategy physicalNamingStrategy = new SpringPhysicalNamingStrategy();
545+
private final PhysicalNamingStrategy physicalNamingStrategy = new CamelCaseToUnderscoresNamingStrategy();
546546

547547
private final ImplicitNamingStrategy implicitNamingStrategy = new SpringImplicitNamingStrategy();
548548

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/HibernatePropertiesTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.function.Consumer;
2121
import java.util.function.Supplier;
2222

23+
import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;
2324
import org.hibernate.cfg.AvailableSettings;
2425
import org.junit.jupiter.api.Test;
2526
import org.junit.jupiter.api.extension.ExtendWith;
@@ -28,7 +29,6 @@
2829

2930
import org.springframework.boot.context.properties.EnableConfigurationProperties;
3031
import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
31-
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
3232
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
3333
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3434
import org.springframework.boot.test.context.runner.ContextConsumer;
@@ -60,7 +60,7 @@ void noCustomNamingStrategy() {
6060
this.contextRunner.run(assertHibernateProperties((hibernateProperties) -> {
6161
assertThat(hibernateProperties).doesNotContainKeys("hibernate.ejb.naming_strategy");
6262
assertThat(hibernateProperties).containsEntry(AvailableSettings.PHYSICAL_NAMING_STRATEGY,
63-
SpringPhysicalNamingStrategy.class.getName());
63+
CamelCaseToUnderscoresNamingStrategy.class.getName());
6464
assertThat(hibernateProperties).containsEntry(AvailableSettings.IMPLICIT_NAMING_STRATEGY,
6565
SpringImplicitNamingStrategy.class.getName());
6666
}));

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/dataaccess/configurehibernatenamingstrategy/spring/MyHibernateConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616

1717
package org.springframework.boot.docs.howto.dataaccess.configurehibernatenamingstrategy.spring;
1818

19+
import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;
1920
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
2021

21-
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
2222
import org.springframework.context.annotation.Bean;
2323
import org.springframework.context.annotation.Configuration;
2424

2525
@Configuration(proxyBeanMethods = false)
2626
public class MyHibernateConfiguration {
2727

2828
@Bean
29-
public SpringPhysicalNamingStrategy caseSensitivePhysicalNamingStrategy() {
30-
return new SpringPhysicalNamingStrategy() {
29+
public CamelCaseToUnderscoresNamingStrategy caseSensitivePhysicalNamingStrategy() {
30+
return new CamelCaseToUnderscoresNamingStrategy() {
3131

3232
@Override
3333
protected boolean isCaseInsensitive(JdbcEnvironment jdbcEnvironment) {

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/orm/jpa/hibernate/SpringPhysicalNamingStrategy.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2019 the original author or authors.
2+
* Copyright 2012-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
1818

1919
import java.util.Locale;
2020

21+
import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;
2122
import org.hibernate.boot.model.naming.Identifier;
2223
import org.hibernate.boot.model.naming.PhysicalNamingStrategy;
2324
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
@@ -29,7 +30,10 @@
2930
* @author Phillip Webb
3031
* @author Madhura Bhave
3132
* @since 1.4.0
33+
* @deprecated since 2.6.0 for removal in 2.8.0 in favor of
34+
* {@link CamelCaseToUnderscoresNamingStrategy}
3235
*/
36+
@Deprecated
3337
public class SpringPhysicalNamingStrategy implements PhysicalNamingStrategy {
3438

3539
@Override

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/orm/jpa/hibernate/SpringPhysicalNamingStrategyTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2019 the original author or authors.
2+
* Copyright 2012-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@
3535
* @author Phillip Webb
3636
* @author Madhura Bhave
3737
*/
38+
@Deprecated
3839
class SpringPhysicalNamingStrategyTests {
3940

4041
private Metadata metadata;

0 commit comments

Comments
 (0)