监控 Hibernate SQL 查询和参数
调试 Hibernate 应用程序通常需要检查生成的 SQL 查询,包括它们的参数值。 标准 Hibernate 日志记录仅显示占位符问号而不是实际值。 本文详细介绍了如何揭示这些值。
利用 Hibernate 的内置日志记录
Hibernate 为详细查询可视化提供了两种日志记录类别:
org.hibernate.SQL
(调试级别): 显示所有执行的 SQL 数据操作语言 (DML) 语句。org.hibernate.type
(跟踪级别): 公开每个查询中使用的所有 JDBC 参数。通过将这些行添加到您的 log4j
配置文件来启用此日志记录功能:
<code># Displays SQL statements log4j.logger.org.hibernate.SQL=debug # Displays JDBC parameters log4j.logger.org.hibernate.type=trace</code>
替代方案:使用 JDBC 代理驱动程序
对于那些喜欢 Hibernate 原生日志记录替代方案的人来说,P6Spy 等 JDBC 代理驱动程序提供了一个强大的解决方案。该驱动程序拦截并修改 JDBC 调用,提供查询的预执行视图以进行全面分析。
以上是如何在 Hibernate 中记录带有参数值的 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!