SpringBoot 3.4.0添加JPA后Hibernate启动日志异常求助
SpringBoot 3.4.0 + JPA 配置后 Hibernate 启动日志异常解决方案
问题描述
在SpringBoot 3.4.0中配置JPA及数据库连接后,Hibernate启动时输出的连接池信息中多项内容显示为undefined/unknown,具体日志如下:
2024-12-03T16:52:53.338+08:00 INFO 34784 --- [blog] [ restartedMain] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 9.0.1 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown
官方已确认此问题源于Hibernate,但暂未给出官方修复方案,以下是几种可行的解决办法:
解决方案
1. 显式指定稳定版本的Hibernate
SpringBoot 3.4.0默认依赖的Hibernate版本可能存在数据源信息读取Bug,可手动指定经过验证的稳定版本:
Maven(pom.xml):
<properties> <hibernate.version>6.5.2.Final</hibernate.version> </properties>
Gradle(build.gradle):
ext['hibernate.version'] = '6.5.2.Final'
2. 完善数据库连接配置,显式声明关键属性
在配置文件中明确指定数据库驱动类及连接池参数,让Hibernate能正确读取这些信息:
application.yml示例:
spring: datasource: url: jdbc:mysql://localhost:3306/your_database username: your_username password: your_password driver-class-name: com.mysql.cj.jdbc.Driver hikari: minimum-idle: 5 maximum-pool-size: 20 auto-commit: true jpa: properties: hibernate: connection: isolation: 2 # 对应READ_COMMITTED,可根据需求调整
3. 调整日志级别,屏蔽异常日志
若该日志仅为显示问题、不影响实际功能,可将Hibernate连接池模块的日志级别调高,避免输出这条异常的INFO日志:
logback.xml示例:
<logger name="org.hibernate.orm.connections.pooling" level="WARN" />
application.properties示例:
logging.level.org.hibernate.orm.connections.pooling=WARN
内容的提问来源于stack exchange,提问作者Kruarix
相关产品推荐
相关产品推荐

