Obtendo o hibernate para registrar parâmetros clob
Pergunta
(ver aqui para o problema que estou tentando resolver)
Como você faz com que o hibernate registre os valores clob que ele irá inserir.Ele está registrando outros tipos de valores, como Inteiro etc.
Eu tenho o seguinte na minha configuração do 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
Que produz resultados como:
(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
No entanto, você notará que ele nunca é exibido parameter: 3
que é o nosso clob.
O que eu realmente quero é algo como:
(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
Como faço para mostrar isso no log?
Solução
Tente usar:
log4j.logger.net.sf.hibernate=DEBUG
log4j.logger.org.hibernate=DEBUG
Esse é o melhor nível que você obterá.Se não mostrar as informações desejadas, não será possível.
Outras dicas
Bem, parece que você não pode. (Obrigado Márcio pela sugestão, mas infelizmente isso não acrescentou nada de útil)
Tente definir log4j.logger.org.hibernate.type=TRACE e veja se isso ajuda.