diff --git a/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-docs/src/main/asciidoc/howto.adoc index 4de4be677e..7b0a81171c 100644 --- a/spring-boot-docs/src/main/asciidoc/howto.adoc +++ b/spring-boot-docs/src/main/asciidoc/howto.adoc @@ -1898,12 +1898,24 @@ The most common options to set are: In addition all properties in `+spring.jpa.properties.*+` are passed through as normal JPA properties (with the prefix stripped) when the local `EntityManagerFactory` is created. + + +[[howto-configure-hibernate-naming-strategy]] +=== Configure Hibernate Naming Strategy Spring Boot provides a consistent naming strategy regardless of the Hibernate generation that you are using. If you are using Hibernate 4, you can customize it using `spring.jpa.hibernate.naming.strategy`; Hibernate 5 defines a `Physical` and `Implicit` -naming strategies: Spring Boot configures `SpringPhysicalNamingStrategy` by default. This -implementation provides the same table structure as Hibernate 4. If you'd rather use -Hibernate 5's default instead, set the following property: +naming strategies. + +Spring Boot configures `SpringPhysicalNamingStrategy` by default. This implementation +provides the same table structure as Hibernate 4: all dots are replaced by underscores and +camel cases are replaced by underscores as well. By default, all table names are generated +in lower case but it is possible to override that flag if your schema requires it. + +Concretely, the `TelephoneNumber` entity will use a `telephone_number` with the default +strategy. + +If you'd rather use Hibernate 5's default instead, set the following property: [indent=0,subs="verbatim,quotes,attributes"] ----