79.6 配置Hibernate命名策略

Hibernate使用两种不同的命名策略将对象模型的名称映射到相应的数据库名称。可以通过设置spring.jpa.hibernate.naming.physical-strategyspring.jpa.hibernate.naming.implicit-strategy属性来配置物理和隐式策略实现的完全限定类名。或者,如果应用程序上下文中有ImplicitNamingStrategyPhysicalNamingStrategy bean可用,Hibernate将自动配置为使用它们。

默认情况下,Spring Boot使用SpringPhysicalNamingStrategy配置物理命名策略。这个实现提供了与Hibernate 4相同的表结构:所有的点都用下划线替换,驼峰式大小写也用下划线替换。默认情况下,所有表名都是用小写字母生成的,但是如果您的模式需要,可以覆盖该标志。

例如,TelephoneNumber实体映射到telephone_number表。

如果你更喜欢使用Hibernate 5的默认设置,设置如下属性:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

或者,你可以配置以下bean:

@Bean
public PhysicalNamingStrategy physicalNamingStrategy() {
    return new PhysicalNamingStrategyStandardImpl();
}

具体详情可参考HibernateJpaAutoConfigurationJpaBaseConfiguration

最后更新于