首页 >数据库 >mysql教程 >如何在 Hibernate 中记录带有参数值的 SQL 查询?

如何在 Hibernate 中记录带有参数值的 SQL 查询?

Barbara Streisand
Barbara Streisand原创
2025-01-22 22:36:14879浏览

How Can I Log SQL Queries with Parameter Values in Hibernate?

监控 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn