dim*_*uta 11 string hibernate java-ee
我需要从Hibernate查询中获取字符串并稍后处理它(所以我无法解决它"hibernate.show_sql").
我已经看过如何从Hibernate Criteria API获取SQL(*不*用于日志记录)但是使用该解决方法我得到了SQL查询字符串但是没有显示它显示的参数值'?'...有什么方法可以获取带参数值的完整SQL字符串?
我的意思是,有了这个解决方案,我得到"SELECT * FROM USER WHERE NAME=? AND SURNAME=?"但是我需要"SELECT * FROM USER WHERE NAME='John' AND SURNAME='Doe'"......
想法?
您必须设置TRACE此hibernate包的日志记录级别,并且参数绑定应显示在您的应用程序日志中:
<category name="org.hibernate.type">
<priority value="TRACE"/>
</category>
Run Code Online (Sandbox Code Playgroud)
输出示例:
13:58:51,505 DEBUG [SQL]
insert
into
s.audit
(action, e_s, ip, time, userid, id)
values
(?, ?, ?, ?, ?, ?)
13:58:51,505 TRACE [StringType] binding 'Modify user' to parameter: 1
13:58:51,505 TRACE [StringType] binding 'E' to parameter: 2
13:58:51,505 TRACE [StringType] binding '164.20.81.65' to parameter: 3
13:58:51,505 TRACE [TimestampType] binding '2012-07-30 13:58:51' to parameter: 4
13:58:51,505 TRACE [IntegerType] binding '158' to parameter: 5
13:58:51,505 TRACE [IntegerType] binding '8851' to parameter: 6
Run Code Online (Sandbox Code Playgroud)
并且不要忘记'hibernate.show_sql=true'您之前说过的属性也显示相关的SQL.
| 归档时间: |
|
| 查看次数: |
23949 次 |
| 最近记录: |