You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot升级至2.7.14时EntityManagerFactory Bean创建失败求助

问题解决方法与调试思路

核心原因

Spring Boot 2.7.x 对应的 Hibernate 版本为 5.6.x,而 org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy 这个类在 Hibernate 5.5+ 中已被移除/重命名,你的配置或代码中直接引用了这个废弃类,导致entityManagerFactory Bean 创建失败。

解决步骤

1. 替换命名策略实现

将配置中引用的 Hibernate 原生命名策略,替换为 Spring Boot 提供的兼容实现:

  • 原配置(可能在application.properties/application.yml中):
    spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy
    
    或
    spring:
      jpa:
        hibernate:
          naming:
            physical-strategy: org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy
    
  • 修改为:
    spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
    
    或
    spring:
      jpa:
        hibernate:
          naming:
            physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
    
    这个类由 Spring Boot 维护,会自动适配不同版本的 Hibernate,且实现了相同的驼峰转下划线命名逻辑。

2. 清理依赖缓存并重新构建

  • Maven 项目执行:
    mvn clean install -U
    
  • Gradle 项目执行:
    gradle clean build --refresh-dependencies
    
    这一步会清理本地仓库中可能存在的旧版本依赖,确保使用 Spring Boot 2.7.14 管理的最新依赖版本。

3. 检查代码中的硬编码引用

如果你的 Java 代码中直接 import 了org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy并使用,同样需要替换为org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy。

调试思路

1. 排查依赖冲突

使用依赖分析工具查看 Hibernate 版本是否一致:

  • Maven:执行mvn dependency:tree,搜索hibernate-core,确认所有依赖引入的 Hibernate 版本都是 Spring Boot 2.7.14 对应的 5.6.x 版本,若有旧版本(如 5.4.x),找到引入该版本的依赖并排除它。
  • Gradle:执行gradle dependencies,同样检查hibernate-core的版本,排除冲突的依赖。

2. 验证配置生效

启动测试前,确保配置文件中的命名策略已正确修改,可以在测试类中添加日志输出,打印 JPA 相关配置,确认physical-strategy已设置为 Spring 提供的类。

3. 逐步回滚验证

如果问题仍未解决,可以尝试:

  • 暂时注释掉命名策略的配置,使用 Spring Boot 默认的命名规则,看测试是否能正常运行。
  • 检查是否有自定义的 Hibernate 配置类,是否在代码中硬编码了该废弃类的引用。

内容的提问来源于stack exchange,提问作者Rohit Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:31:14