xia*_*012 2 debugging hibernate
可能重复:
使用参数值在休眠中打印查询字符串
我使用Hibernate作为持久层.我将show_sql设置为true以查看调试信息.
但是,我实际上并没有看到完整的信息,因为大多数SQL语句都像:
insert
into
Address
(address1, address2, city, province)
values
(?, ?, ?, ?)
Run Code Online (Sandbox Code Playgroud)
参数都是问号,虽然我可以在某些select语句的条件部分看到一些实际数据.
我想要的信息如下:
insert
into
Address
(address1, address2, city, province)
values
("XXX address1", "XX address2", "XXX city", "XXX province")
Run Code Online (Sandbox Code Playgroud)
如何配置查看那些参数数据,或者这是hibernate的缺陷?
Hibernate无法将SQL及其参数记录在您想要的同一行中.Hibernate提供的日志记录(通过设置log4j.logger.org.hibernate.SQL=debug和log4j.logger.org.hibernate.type=tracelog4j配置)只能记录SQL,不同行中的参数如下:
insert
into
Address
(address1, address2, city, province)
values
(?, ?, ?, ?)
binding parameter [1] as [VARCHAR] - xxxxxx
binding parameter [2] as [VARCHAR] - xxxxxx
binding parameter [3] as [VARCHAR] - xxxx
Run Code Online (Sandbox Code Playgroud)
如果要使用同一行中的参数记录SQL,则必须使用JDBC代理驱动程序.我已经尝试了log4jdbc,它可以做到这一点,它还可以记录每个SQL语句花费的时间,并记录导致SQL语句的代码中的行.
您可以参考此博客以获取更多信息.
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |