休眠以记录Clob参数

时间:2020-03-05 18:50:30  来源:igfitidea点击:

(有关我要解决的问题,请参见此处)

我们如何休眠以记录将要插入的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

我如何获得它以显示在日志中?

解决方案

回答

尝试使用:

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

那是我们将获得的最好的水平。如果没有显示我们想要的信息,则不可能。

回答

好吧,看来你做不到。 (感谢马西奥的建议,但可惜的是这并没有增加任何有用的内容)

回答

尝试设置log4j.logger.org.hibernate.type = TRACE,看看是否有帮助。