📜  无法解析配置属性“spring.jpa.hibernate.naming-strategy” (1)

📅  最后修改于: 2023-12-03 14:55:07.821000             🧑  作者: Mango

无法解析配置属性“spring.jpa.hibernate.naming-strategy”

在使用Spring Boot和Hibernate进行开发时,可能会遇到以下错误:

Unknown property: spring.jpa.hibernate.naming-strategy

这是因为spring.jpa.hibernate.naming-strategy这个属性在新版本的Hibernate中已经不再支持。如果您在应用程序的配置文件中使用了这个属性,就会导致错误出现。

解决方法:

  1. 如果您的应用程序使用的是Hibernate 5.2或更高版本,可以直接移除spring.jpa.hibernate.naming-strategy属性,因为它已经被默认设置为org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

  2. 如果您需要自定义命名策略,可以使用spring.jpa.hibernate.naming.physical-strategyspring.jpa.hibernate.naming.implicit-strategy属性分别对应显式和隐式命名策略,这些属性支持与Hibernate 5.2或更高版本的Spring Boot一起使用。

spring:
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
        implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
  1. 如果您使用的是Hibernate 5.1或更低版本,则可以使用以下属性来替换spring.jpa.hibernate.naming-strategy

    显式命名策略:

    spring.jpa.hibernate.naming.physical-strategy
    

    隐式命名策略:

    spring.jpa.hibernate.naming.implicit-strategy
    

    它们使用的是类似的Hibernate命名策略类,比如org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImplorg.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl

感谢您的耐心阅读,希望本文解决了您的问题。