3

(请参阅此处了解我要解决的问题)

你如何让休眠记录它要插入的 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

如何让它在日志中显示?

4

3 回答 3

1

尝试使用:

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

这是您将获得的最高级别。如果它没有显示您想要的信息,那么这是不可能的。

于 2008-09-10T04:39:36.500 回答
1

好吧,看起来你不能。(感谢Marcio的建议,但遗憾的是这并没有增加任何有用的东西)

于 2008-09-11T04:34:26.737 回答
0

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

于 2008-09-14T23:42:05.160 回答