Join na mesma tabela com hibernate

3 respostas
F

e ai pessoal…
seguinte…
to com um probleminha…
vou mostrarminha query e o erro que me retorna…

[b][i]Query[/i][/b]
session.createQuery("from Objeto ob left join " +
							"Objeto o on o.ObTela = ob.ObTela " +
							"and o.ObObjeto = ob.ObObjeto " +
							"and o.ObGrupo = :grupo " +
							"where o.ObGrupo is null " +
							"and ob.ObId is null").setInteger("grupo", idGrupo)
							.list());
[b][i]Erro[/i][/b]
11:13:57,046 ERROR [PARSER] line 1:70: unexpected token: on

dúvida…
com ofazer join na mesma tabela sendo que o hibernate já faz as referencias a outras tabelas de acordo com as FK’s??
se alguem puder ajudar agradeço…
[]'s

3 Respostas

_fs

Joins do Hibernate funcionam de maneira diferente. Se o relacionamento dos objetos já foi mapeado, basta fazer:

from Pessoa p left join p.documentos doc
where p.idade > 18 AND doc.nome = 'RG'

No caso da mesma tabela funciona do mesmo jeito, penso. Basta declarar o relacionamento.

F

ok… isso eu sei… mas eo restante dos meus criterios no join? eu preciso realmente deles… do contrário não haveria problema… será que tem outra solução?? vou tentar como vc falou… mas creio que nção funcionará… =/

valeu mesmo assim…

F

então lipe… encontrei uma forma provisóoria… espero não ser a definitiva…

resolvemos colocar um set dentro do objeto referenciando ele mesmo… só aidna não decidimos ou encontramos a melhor chave pra colocar isso…
mas acho que por enquanto resolve…

falow?
=]
[]'s

Criado 13 de abril de 2006
Ultima resposta 14 de abr. de 2006
Respostas 3
Participantes 2