Problemas com JPA, Hibernate e Join's

2 respostas
deiome

ola a todos, realizei esta consulta no MySQL e funcionou :

SELECT * FROM Tratativa t
LEFT JOIN Gestor g ON t.idGestor = g.idGestor
LEFT JOIN Empresa e ON g.idEmpresa = e.idEmpresa
WHERE e.idEmpresa = xxxxxxx
ORDER BY t.idTratativa

onde a tabela empresa tem relação one-to-many com gestor e gestor tem uma relação one-to-many com tratativa, e o xxxxxx é uma variavel do tipo inteiro

mas quando fui colocar esse codigo no Java, da um erro dizendo :

"SELECT t FROM Tratativa t "+
"JOIN Gestor g ON t.idGestor = g.idGestor " +
"JOIN Empresa e ON g.idEmpresa = e.idEmpresa " +
"WHERE e.idEmpresa = " + e.getIdEmpresa() +
“ORDER BY t.idTratativa”

org.hibernate.hql.ast.QuerySyntaxException: unexpected token: ON near line 1, column 54 [Select t from pi.entidades.Tratativa t JOIN Gestor g ON t.idGestor = g.idGestor JOIN Empresa e ON g.idEmpresa = e.idEmpresa WHERE e.idEmpresa = 3 order by t.idTratativa]

alguem pode me ajudar, pois eu não entendi o erro…

2 Respostas

GraveDigger

Esse segundo SQL q vc postou foi gerado automaticamente ou vc escreveu ele na mão?

Coloque aqui o trecho de código que gerou o problema para analizarmos melhor.

MarcosPadilha

brother passei pelo mesmo problema e acabei descubrindo que o hibernate não aceita a clausula ON, usa no where table, table que gera o mesmo resultado de um INNER JOIN … abraços

Criado 20 de novembro de 2008
Ultima resposta 2 de jul. de 2009
Respostas 2
Participantes 3