Spring Boot 3中如何记录JPA查询的SQL参数绑定?
Spring Boot 3 中记录JPA SQL参数绑定的正确配置方式
你在Spring Boot 2.7.3中使用的参数绑定日志配置失效,是因为Spring Boot 3.x默认依赖Hibernate 6.x,而Hibernate 6重构了参数绑定的日志输出模块,原有的org.hibernate.type.descriptor.sql.BasicBinder类不再负责参数绑定的日志输出。
针对Spring Boot 3.x + Hibernate 6.x的环境,记录SQL参数绑定的正确配置如下:
# 显示格式化后的SQL语句 spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true # 开启SQL语句及参数绑定日志 logging.level.org.hibernate.sql=debug logging.level.org.hibernate.sql.exec.spi.JdbcParameterBinder=trace
如果希望简化配置,也可以直接将org.hibernate.sql.exec的日志级别设为trace,它会包含SQL执行及参数绑定的相关日志:
logging.level.org.hibernate.sql.exec=trace
配置完成后,重启应用即可看到EntityManager执行查询时的参数绑定细节。
内容的提问来源于stack exchange,提问作者dsestero
相关产品推荐
相关产品推荐

