有没有办法在没有参数的情况下将有效的 SQL 日志语句与 Spring JPA 完全映射
Is there a way to fully map a valid SQL logging statement with Spring JPA without parameters
使用 spring JPA 有一种方法可以在日志语句中获取有效的 sql,而无需从准备好的语句中参数化 sql。
我可以在下面的调试设置中看到 SQL,但数据已参数化。有没有办法让它像下面这样生成 sql。
从日志参数化:
2021-12-12 17:54:37.414 DEBUG 10185 --- [调度-1] org.hibernate.SQL
插入 DB2PROD.GLOBAL_TABLE (AGENT) 值 (?)
2021-12-12 17:54:37.415 TRACE 10185 --- [ scheduling-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [VARCHAR] - [N]
2021-12-12 17:54:37.415 TRACE 10185 --- [ scheduling-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [VARCHAR] - []
我看到了这些值,但我必须手动插入它们以构建正确的查询。有没有什么可以让它自动的。
Insert into table value('N') for example.
我目前正在使用此设置。
# Log Settings
logging.level.root: ${JPA_LOG_LEVEL}
logging.level.org.hibernate.SQL: ${JPA_LOG_LEVEL}
logging.level.org.hibernate.type.descriptor.sql.BasicBinder: ${JPA_LOG_LEVEL}
# Enable parameter binding (set to trace for param values), useful during debugging
# For most verbose logging, add in startup script:
# export JPA_LOG_LEVEL=TRACE
# export SQL_LOG_LEVEL=TRACE
logging.level.org.hibernate.type.descriptor.sql: trace
logging.level.org.hibernate.type.descriptor.type: trace
logging.level.org.hibernate.SQL=调试
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=追踪
第二行显示准备好的语句参数
使用 spring JPA 有一种方法可以在日志语句中获取有效的 sql,而无需从准备好的语句中参数化 sql。
我可以在下面的调试设置中看到 SQL,但数据已参数化。有没有办法让它像下面这样生成 sql。
从日志参数化:
2021-12-12 17:54:37.414 DEBUG 10185 --- [调度-1] org.hibernate.SQL
插入 DB2PROD.GLOBAL_TABLE (AGENT) 值 (?)
2021-12-12 17:54:37.415 TRACE 10185 --- [ scheduling-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [VARCHAR] - [N]
2021-12-12 17:54:37.415 TRACE 10185 --- [ scheduling-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [VARCHAR] - []
我看到了这些值,但我必须手动插入它们以构建正确的查询。有没有什么可以让它自动的。
Insert into table value('N') for example.
我目前正在使用此设置。
# Log Settings
logging.level.root: ${JPA_LOG_LEVEL}
logging.level.org.hibernate.SQL: ${JPA_LOG_LEVEL}
logging.level.org.hibernate.type.descriptor.sql.BasicBinder: ${JPA_LOG_LEVEL}
# Enable parameter binding (set to trace for param values), useful during debugging
# For most verbose logging, add in startup script:
# export JPA_LOG_LEVEL=TRACE
# export SQL_LOG_LEVEL=TRACE
logging.level.org.hibernate.type.descriptor.sql: trace
logging.level.org.hibernate.type.descriptor.type: trace
logging.level.org.hibernate.SQL=调试 logging.level.org.hibernate.type.descriptor.sql.BasicBinder=追踪
第二行显示准备好的语句参数