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.
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.