| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2010 14:52:45
|
Mikhas
Virtual Machine Man
![[Avatar]](/images/avatar/4388a23da67b154b780b78dd7ea4636e.jpg)
Membro desde: 17/06/2008 11:10:50
Mensagens: 677
Localização: São Paulo
Offline
|
Oi galera!
Estou desenvolvendo meu TCC usando JPA 2.0 (Hibernate) e estou tendo alguns problemas an hora de executar uma querie.
Gostaria de saber como posso verificar a querie que é executada pelo hibernate.
Ja tentei adicionar na configuração do meu Log4j o pacote org.hibernate.sql e org.hibernate.type mas não deu em nada.
Alguem pode me dar uma luz.
Grato
|
Refractor 1.6 - Easy reflection framework
Agora muito mais rapido!
Raze - The fastest CSS selector engine
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2010 15:14:26
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline
|
No seu hibernate.properties.. ou nas configuracoes no XML onde vc coloca os properties do hibernate coloque a seguinte propriedade
hibernate.show_sql=true
Vai mostrar as queries no log..
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2010 15:28:02
|
Mikhas
Virtual Machine Man
![[Avatar]](/images/avatar/4388a23da67b154b780b78dd7ea4636e.jpg)
Membro desde: 17/06/2008 11:10:50
Mensagens: 677
Localização: São Paulo
Offline
|
Sim, isso eu ja tenho. Eu quero é ver essas queries com as interrogações preenchidas saca.
|
Refractor 1.6 - Easy reflection framework
Agora muito mais rapido!
Raze - The fastest CSS selector engine
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2010 11:12:28
|
partenon
JavaChild
Membro desde: 27/06/2010 15:08:10
Mensagens: 103
Localização: Brno, Czech Republic
Offline
|
Voce nao vai ver com "as interrogacoes" preenchidas O Hibernate (e qualquer aplicacao bem feita) usa PreparedStatement, ou seja, ele primeiro manda o "modelo" da SQL para o driver JDBC, e este vai compilar a SQL (ou armazena-la em algum cache, possivelmente). Entao, ele reusa estes PreparedStatement para cada execucao. Ou seja, o Hibernate em si nao sabe qual a SQL final, apenas a SQL "modelo" e os valores para as interrogacoes.
Voce pode tentar ver na documentacao do seu driver JDBC se existe alguma opcao para imprimir as SQLs executadas (acho dificil, pq a maioria dos drivers JDBC fazem algo semelhante ao PreparedStatement na comunicacao com o banco). Ou voce pode ver direto no seu banco de dados. No MySQL, por exemplo, voce pode ativar o "log SQL", e ver quais foram as clausulas executadas.
Mas eu diria que eh razoavelmente seguro pegar esta query "com interrogacoes" e muda-la para usar os parametros que vc configurou.
|
http://www.google.com/profiles/partenon |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 09:24:16
|
javando
JavaEvangelist
Membro desde: 04/12/2006 15:42:08
Mensagens: 409
Offline
|
Opa, dá sim =)
só q eu não sei a maneira correta =/ ahuahau
tenta inserir esses parametros no seu log4j.properties:
log4j.logger.org.hibernate.type=info
log4j.logger.net.sf.hibernate.type=error
eu nao sei pq .. mas aki no trabalho ele mostra em algumas querys e em outras não =/ mas tambem eu to em um legado aki com hibernate 1 beta ...
tenta ai .. se nao conseguir oq vc qr com isso, vale dar umr procurada na documentação ... pq tem como sim vc ver o log com os parametros em bind.
se nao der certo com os dois tenta inserir só a primeira linha ou só a segunda alinha ..
a saida pode ser o comando com os ? substituidos ou algo como isso:
2006-07-28 09:57:12,061 DEBUG org.hibernate.SQL - insert into BASKET_LINE_ALLOC (LAST_UPDATED, QUANTITY, CUSTOMER_REF, NOTES, BRANCH_ID, FUND_ID, TEMPLATE_ID,
BASKET_LINE_ALLOC_ID) values (?, ?, ?, ?, ?, ?, ?, ?)
2006-07-28 09:57:12,081 DEBUG org.hibernate.type.TimestampType - binding '2006-07-28 09:57:12' to parameter: 1
2006-07-28 09:57:12,081 DEBUG org.hibernate.type.IntegerType - binding '3' to parameter: 2
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.StringType - binding '' to parameter: 3
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.StringType - binding '' to parameter: 4
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.LongType - binding '511' to parameter: 5
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.LongType - binding '512' to parameter: 6
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.LongType - binding null to parameter: 7
2006-07-28 09:57:12,082 DEBUG org.hibernate.type.LongType - binding '180030' to parameter: 8
falow
This message was edited 1 time. Last update was at 31/08/2010 09:30:35
|
Antonio Rafael Rodrigues
SCJP
SCWCD
SCBCD
site: http://www.antoniorafael.eti.br |
|
|
 |
|
|
|
|