Hibernate could not execute query

9 respostas
saulo.bsi

Bom dia pessoal estou tentando executar um query e estou recebendo o seguinte erro:

org.hibernate.exception.SQLGrammarException: could not execute query

Segue o trecho de código que estou tentando executar.

session.createQuery("from Predio p, Imovel i " + "where p.rota.id = " + rotaId + " order by ordenacaoElag").list();

9 Respostas

Abdon

ordenacaoElag ? Fora que isto não esta vindo de nenhum objeto, com certeza o seu erro esta ai.

saulo.bsi

Não pior que o problema não está ali não, este problema esta acontecendo depois que eu adicionei mais o objeto imovel

Antes era assim:

session.createQuery("from Predio " + "where rota.id = " + rotaId + "order by ordenacaoElag").list();

Agora estou tentando executar assim.

session.createQuery("from Predio p, Imovel i "+"where p.rota.id = " + rotaId + " order by ordenacaoElag").list();
B

Vc fez o join entre as entidades Predio e Imovel ? Poste suas entidades para ficar mais claro…

B

Outra coisa, está faltando o alias em ordenacaoElag , na sua segunda query coloque p.ordenacaoElag

saulo.bsi

Antes o problema acho que estava relacionado ao objeto ordenacaoElag no meu orderBy agora eu acesso ele pelo alias p.ordenacaoElag. Porem o hibernate não está guspindo nada na tela. A aplicação trava quando executa essa sql e não me exibe nenhuma informação se houve erro na sql ou algo do genero.

session.createQuery("from Predio as p, Imovel as i " +
                    "where p.rota.id = " + rotaId + "order by p.ordenacaoElag").list();
B

Copia o sql que o hibernate gerou e executa ele direto no banco para ver se traz valores…

vinicius.martinez

saulo.bsi:
Não pior que o problema não está ali não, este problema esta acontecendo depois que eu adicionei mais o objeto imovel

Antes era assim:

session.createQuery("from Predio " + "where rota.id = " + rotaId + "order by ordenacaoElag").list();

Agora estou tentando executar assim.

session.createQuery("from Predio p, Imovel i "+"where p.rota.id = " + rotaId + " order by ordenacaoElag").list();

Man…posta os mapeamento senao…nao rola!!

saulo.bsi

Ai que está o problema. O hibernate não esta me mostrando a sql executada. Simplesmente “parece” que tudo para por ali.

Eu estou executando a sql direto no banco demora cerca de 20 segundos para executar e me mostrar o resultado.

SELECT 
  *
FROM 
  tb_Predio p,
  tb_imovel i 
WHERE
  p.rota_id = 48
B

Poste suas entidades

Criado 25 de fevereiro de 2010
Ultima resposta 25 de fev. de 2010
Respostas 9
Participantes 4