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

Spring Boot创建entityManagerFactory Bean报错的原因与修复方法咨询

错误原因分析

Spring Boot 3.x 已全面迁移到Jakarta EE规范(替代原Java EE),但你的依赖配置存在多处兼容性冲突:

  1. Hibernate版本不兼容:你手动引入的Hibernate 5.4.30.Final基于旧的Java EE规范(javax.persistence),而Spring Boot 3.1.0要求依赖适配Jakarta EE的jakarta.persistence接口,导致SpringHibernateJpaPersistenceProvider无法匹配旧接口,触发Bean创建失败。
  2. JPA API依赖冗余冲突:手动引入的jakarta.persistence:jakarta.persistence-api:3.1.0与Hibernate 5.x不兼容,加剧了依赖冲突。
  3. Springfox版本过时:Springfox 2.9.2完全不支持Spring Boot 3.x,其依赖的旧Spring MVC组件会引发额外兼容性问题。
修复方法

1. 移除冗余的Hibernate和JPA API依赖

Spring Boot的spring-boot-starter-data-jpa已默认集成适配3.x版本的Hibernate和JPA API,无需手动指定。删除以下依赖:

implementation 'org.hibernate:hibernate-core:5.4.30.Final'
implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'

2. 替换Springfox为兼容的API文档工具

Springfox 2.x不支持Spring Boot 3.x,改用Spring官方推荐的Springdoc OpenAPI:
添加新依赖:

implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'

删除原Springfox依赖:

implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'

3. 优化PostgreSQL驱动版本(推荐)

让Spring Boot自动管理兼容的驱动版本,移除手动指定的版本号:

implementation 'org.postgresql:postgresql'

4. 清理重复依赖

删除重复的JUnit 4依赖:

testImplementation 'junit:junit:4.13.1' // 删除其中一条重复项

修复后的完整依赖配置

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.1.0'
    id 'io.spring.dependency-management' version '1.1.0'
}

sourceCompatibility = '17'

dependencies {
    implementation 'org.postgresql:postgresql'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
    implementation 'ch.qos.logback:logback-classic:1.4.6'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'junit:junit:4.13.1'
}

验证配置

application.properties中的现有配置无需修改,Spring Boot会自动适配新的依赖版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:55:02