2008-09-10 71 views
3

(見here對於這個問題,我試圖解決)快速休眠登錄CLOB參數

你怎麼冬眠登錄CLOB值它會插入。它記錄其他值類型,如Integer等

我已經在我的log4j的配置如下:

log4j.logger.net.sf.hibernate.SQL=DEBUG 
log4j.logger.org.hibernate.SQL=DEBUG 
log4j.logger.net.sf.hibernate.type=DEBUG 
log4j.logger.org.hibernate.type=DEBUG 

將會產生輸出,如:

(org.hibernate.SQL) insert into NoteSubstitutions (note, listIndex, substitution) values (?, ?, ?) 
(org.hibernate.type.LongType) binding '170650' to parameter: 1 
(org.hibernate.type.IntegerType) binding '0' to parameter: 2 
(org.hibernate.SQL) insert into NoteSubstitutions (note, listIndex, substitution) values (?, ?, ?) 
(org.hibernate.type.LongType) binding '170650' to parameter: 1 
(org.hibernate.type.IntegerType) binding '1' to parameter: 2 

但是你會注意到它永遠不會顯示parameter: 3這是我們的clob。

我會真正想要的是一樣的東西:

(org.hibernate.SQL) insert into NoteSubstitutions (note, listIndex, substitution) values (?, ?, ?) 
(org.hibernate.type.LongType) binding '170650' to parameter: 1 
(org.hibernate.type.IntegerType) binding '0' to parameter: 2 
(org.hibernate.type.ClobType) binding 'something' to parameter: 3 
(org.hibernate.SQL) insert into NoteSubstitutions (note, listIndex, substitution) values (?, ?, ?) 
(org.hibernate.type.LongType) binding '170650' to parameter: 1 
(org.hibernate.type.IntegerType) binding '1' to parameter: 2 
(org.hibernate.type.ClobType) binding 'something else' to parameter: 3 

我如何得到它在日誌中顯示這個?

回答

1

嘗試使用:

log4j.logger.net.sf.hibernate=DEBUG 
log4j.logger.org.hibernate=DEBUG 

這就是你會得到最好的水平。如果它沒有顯示你想要的信息,那麼這是不可能的。

1

好吧,看起來你不能。 (感謝Marcio您的建議,但可悲的是沒有添加任何有用的)

0

嘗試設置log4j.logger.org.hibernate.type = TRACE,看看有沒有什麼幫助。

+0

是的,這也沒有幫助。我認爲這只是因爲你不能保證一個clob是可以輸出到控制檯的,所以它不會。 – SCdF 2008-09-16 05:27:24