java 如何在Sping Boot 3/Hibernate 6中记录带有查询参数值的SQL语句

fzsnzjdm  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(141)

我最近将我的Sping Boot 应用程序升级到了v3. 0,这需要Hibernate升级到v6. 1. 5. Final。
我使用Spring Data JPA with Hibernate作为JPA提供程序。当我在本地运行应用程序时,我希望记录SQL语句和这些语句中的任何参数值。为此,我按照this blog post将以下内容添加到本地配置中:

spring:
  jpa:
    show-sql: false
    properties:
      hibernate:
        format_sql: true
logging:
  level:
    org.hibernate.SQL: debug
    org.hibernate.type.descriptor.sql: trace

我非常肯定这在升级之前是有效的,但是现在只记录了SQL语句,也就是说,参数值丢失了。
在使用Sping Boot v3.0和Hibernate v6.1.5.Final时,是否可以记录查询参数值?

rhfm7lfc

rhfm7lfc1#

使用Hibernate 6在Sping Boot 3中记录SQL:

  • logging.level.sql用于SQL日志记录组,包括Hibernate SQL日志记录器。
  • logging.level.org.hibernate.orm.jdbc.bind,用于显示绑定参数

所以这应该行得通:

logging:
  level:
    sql: debug
    org.hibernate.orm.jdbc.bind: trace

相关问题