Visualizar os valores dos Parâmetros das Sqls do Hibernate

Posted Over 10 years ago. Visible to the public.

PROBLEMA

Alterar propriedade logSql = true do DataSource nos da as sqls inúteis do Hibernate no seguinte formato:
insert into mkyong.stock_transaction (CHANGE, CLOSE, DATE, OPEN, STOCK_ID, VOLUME)
values (?, ?, ?, ?, ?, ?)
Mas preferimos informações úteis no seguinte formato:
insert into mkyong.stock_transaction (CHANGE, CLOSE, DATE, OPEN, STOCK_ID, VOLUME)
values (10.0, 1.1, '2009-12-30', 1.2, 11, 1000000)

SOLUÇÃO

  • Configurar a nova dependência de library runtime(group: 'p6spy', name: 'p6spy', version: '1.3')
  • Configurar o Driver do DataSource da sua aplicação para o driver "espião" com.p6spy.engine.spy.P6SpyDriver
  • Adquirir o arquivo spy.properties Show archive.org snapshot
  • Personalizar o arquivo spy.properties com a propriedade realdriver para o driver original
  • (Opcional) Personalizar a localização do arquivo de log com a propriedade logfile (padrão é spy.log na raiz do projeto)
  • Colocar o arquivo spy.properties na raiz/classpath do seu projeto
  • (Observação) Perceba que a propriedade logSql do DataSource não interfere, podendo continuar false para não poluir a saída do seu console com as sqls inúteis

Fonte: http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/ Show archive.org snapshot

Bruno Vieira
Last edit
Over 10 years ago
Posted by Bruno Vieira to ZeroGlosa (2013-10-31 12:05)