使用Hibernate時,查看執行的SQL查詢通常很有用,尤其是在偵錯或最佳化效能時。但是,預設情況下,Hibernate使用佔位符(問號)而不是查詢參數的實際值來記錄SQL語句。
如果您需要列印包含實際值的查詢,您可以設定以下類別的日誌記錄:
例如,使用log4j配置:
<code># 记录SQL语句 log4j.logger.org.hibernate.SQL=debug # 记录传递给查询的JDBC参数 log4j.logger.org.hibernate.type=trace </code>
第一個設定(org.hibernate.SQL)等效於設定hibernate.show_sql=true遺留屬性。第二個設定(org.hibernate.type)會列印綁定參數以及其他資訊。
列印包含實際值的查詢的另一種方法是使用JDBC代理驅動程序,例如P6Spy。此驅動程式會攔截所有SQL語句並記錄包含詳細資訊的信息,包括查詢參數的實際值。
以上是如何在 Hibernate 中記錄帶有參數值的詳細 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!