2010-01-13 74 views
4

這個例子的SQL是如何使用show_sql時顯示=真休眠show_sql值

Hibernate: 
    select 
     propertyse0_.entity_name as entity1_3_0_, 
     propertyse0_.entity_id as entity2_3_0_, 
     propertyse0_.entity_key as entity3_3_0_, 
     propertyse0_.key_type as key4_3_0_, 
     propertyse0_.boolean_val as boolean5_3_0_, 
     propertyse0_.double_val as double6_3_0_, 
     propertyse0_.string_val as string7_3_0_, 
     propertyse0_.long_val as long8_3_0_, 
     propertyse0_.int_val as int9_3_0_, 
     propertyse0_.date_val as date10_3_0_ 
    from 
     OS_PROPERTYENTRY propertyse0_ 
    where 
     propertyse0_.entity_name=? 
     and propertyse0_.entity_id=? 
     and propertyse0_.entity_key=? 

可以顯示值收集與SQL,而不是「?」

回答

2

設置你的日誌利文爲 「跟蹤」。 在你的log4j.properties(假設你使用的Log4J):

log4j.logger.org.hibernate = TRACE

會導致大量的日誌艱難的......

0

不是直接。您可以使用log4jdbc來記錄通過jdbc發送的所有數據。它有一個記錄器,用於內聯預先準備的語句值。

+0

可以更詳細如何與spring +休眠現有應用程序集成 – cometta 2010-01-13 09:57:50

+0

我在春天爲我的數據源創建了一個代理,添加了log4jdbc的記錄器間諜。我不得不承認,這不是在10分鐘內完成的。但是,爲了我的目的,這是值得的。但我只是將它包含在我的測試中,而不是在應用程序服務器中。 – bertolami 2010-01-13 10:28:48

2

您需要設置您的日誌記錄框架以記錄此級別的詳細信息。請參閱here瞭解Hibernate使用的各種記錄器以及如何使用它們。

,你要的是具體的一個:

  • org.hibernate.type - 記錄所有JDBC參數