使用参数值打印 Hibernate 查询字符串
检查 Hibernate 生成的 SQL 查询通常很有用,尤其是在排除问题时。 Hibernate 的默认行为是显示参数值带有问号(占位符)的查询字符串。但是,可以启用日志记录以查看生成的带有实际参数值的 SQL 查询。
启用 Hibernate 日志记录
要启用带有参数值的查询字符串打印,您需要为以下类别配置 Hibernate 日志记录:
Log4j 配置
这里是启用指定日志记录的 Log4j 配置示例类别:
# Logs the SQL statements log4j.logger.org.hibernate.SQL=debug # Logs the JDBC parameters passed to a query log4j.logger.org.hibernate.type=trace
等效旧属性
org.hibernate.SQL 记录器等效于旧版本 hibernate.show_sql=true 属性,该属性已被弃用。
JDBC 代理驱动程序
另一种方法是使用 JDBC 代理驱动程序,例如 P6Spy,它可以捕获并显示 SQL 查询(包括参数值),而无需修改 Hibernate 配置。
以上是如何打印带有参数值的 Hibernate 查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!