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

Spring Boot+Kotlin项目启动报错找不到entityManagerFactory Bean

问题根因

核心问题是手动引入的Hibernate Core 6.1.0.Final与Spring Boot 2.6.2版本存在严重的版本不兼容。
Spring Boot 2.6.x系列官方适配、绑定的Hibernate版本为5.6.x分支,Hibernate 6是Spring Boot 3.0及以上版本才正式支持的大版本,跨大版本手动替换Hibernate核心依赖会直接打断Spring Boot的JPA自动配置流程,导致entityManagerFactory Bean无法正常创建,和数据库类型选择、实体类注解配置、数据源参数配置无关。

修复步骤
  • 打开build.gradle.kts,直接删除手动声明的Hibernate Core 6.1.0.Final依赖,不需要手动指定Hibernate版本,Spring Boot的官方依赖管理插件会自动拉取和当前版本匹配的兼容Hibernate包。
  • 检查application.properties中的JPA配置,确认Hibernate方言配置适配当前版本,可直接参考以下配置(你之前写对的PostgreSQL数据源连接、用户名密码、端口等参数不需要改动):
# JPA基础配置
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL10Dialect
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.open-in-view=false
# 按需开启SQL打印,不影响核心逻辑
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
  • 执行./gradlew clean清理旧构建缓存,刷新Gradle依赖后重新启动应用。
  • 如果完成以上操作后仍报错,检查spring-boot-starter-data-jpa依赖是否被手动添加了传递依赖排除规则,确保Hibernate核心相关的传递依赖没有被误排除。
额外说明

如果确实需要使用Hibernate 6的特性,不能只替换Hibernate核心包,需要将整个Spring Boot版本升级到3.0及以上,同时同步完成Java版本适配、javax包到jakarta包的全量替换、Kotlin版本升级、依赖配置全量调整,改动成本极高,对于待办清单类的Demo项目完全没有必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:27:16