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

Spring Boot中hibernate.type=trace配置不生效的原因排查

无法打印Hibernate查询参数的排查方案

问题描述

尝试多种方式打印Hibernate查询参数均失败,已设置TRACE级日志但无对应输出。相关配置及当前日志如下:

application.properties配置

spring.jpa.show-sql=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=trace

当前日志输出(无TRACE级内容)

[2m2023-03-19T04:26:46.061+09:00[0;39m [32mDEBUG[0;39m [35m11145[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36morg.hibernate.SQL                       [0;39m [2m:[0;39m insert into relgroup_word (word_id, relgroup_id) values (?, ?)
Hibernate: insert into relgroup_word (word_id, relgroup_id) values (?, ?)

build.gradle配置

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

group = 'com.kakaobank'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    implementation 'com.h2database:h2'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

排查要点

  • 修正Hibernate 6.x的日志路径:Spring Boot 3.x适配Hibernate 6.x,参数绑定日志路径已从org.hibernate.type改为org.hibernate.orm.jdbc.bind,需更新配置:
    logging.level.org.hibernate.orm.jdbc.bind=trace
    
  • 检查自定义日志配置优先级:若项目存在logback-spring.xml、log4j2.xml等配置文件,需确认其中未对org.hibernate.orm.jdbc.bind设置低于TRACE的级别(如INFO/DEBUG),如有则调整为TRACE。
  • 区分spring.jpa.show-sql与日志打印:spring.jpa.show-sql=true仅打印SQL语句,不输出参数,需依赖日志配置实现参数打印,二者不冲突但功能不同。
  • 验证DevTools环境配置:使用spring-boot-devtools时,检查环境特定配置文件(如application-dev.properties)是否覆盖了主配置的日志级别,确保对应环境也设置了正确的TRACE级别。
  • 确认日志输出位置:部分日志框架会将TRACE级日志定向到单独文件而非控制台,检查日志配置文件,确认TRACE日志的输出目标是否为当前查看的控制台。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 20:15:29