quarta-feira, 16 de abril de 2014

show_sql=true não exibe os parâmetros

Após setar o show-sql como true no meu persistence.xml no meu projeto que roda no JBoss EAP 6.2 (ou Jboss AS7, ou WildFly) as queries apareceram no log, mas o valor dos parâmetros não. Aparecia somente assim:

21:10:03,314 INFO  [stdout] (http-/0.0.0.0:8080-3) Hibernate: select exemplo0_.COL_X from EXEMPLO exemplo0_ where exemplo0_.COL_Y =?

Para fazer os valores aparecerem entrei no arquivo standalone.xml do meu JBoss e fui no subsystem logging (esse arquivo tem várias tags subsystem, uma delas tem o name logging)

Então, junto com os outros loggers adicionei o logger abaixo:

<logger category="org.hibernate.type.descriptor.sql.BasicBinder">
     <level name="TRACE"/>
</logger>

Após reiniciar o JBoss, o log ficou assim:

21:15:04,234 INFO  [stdout] (http-/0.0.0.0:8080-3) Hibernate: select exemplo0_.COL_X from EXEMPLO exemplo0_ where exemplo0_.COL_Y =?
21:15:04,234 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (http-/0.0.0.0:8080-3) binding parameter [1] as [BIGINT] - 600

Fonte: http://stackoverflow.com/questions/9159752/how-to-get-jdbc-binding-parameters-from-hibernate-in-jboss-7