Olá amigos,
Estou enfrentando um problema com Hibernate HQL. O que acontece que é que tenho as tabelas atividade e terra. O relacionamento dessa tabela é de muitos para muitos onde existe uma tabela associativa UsoTerra. Preciso fazer uma busca de todas as atividades a partir de um determinado id da terra. Para isto fiz a consulta
select * from gsw_atividade left join gsw_uso_terra
on gsw_atividade.id = gsw_uso_terra.id_atividade and gsw_uso_terra.id_terra = 1
E isto me retorna tudo ok. O que acontece é que preciso fazer isto em HQL. Tentei o seguinte:
String hql = "from Atividade a inner join fetch a.listaUsoTerra as lut " +
" where lut.id = " +idTerra+ " order by a.descricao";
Mas esta busca me retorna apenas um registro… (Verifiquei no hiberante reference que não devemos utilizar aliases para joins do tipo fetch e nem os utilizar em clausulas where ) então tentei
String hql = "from Atividade a inner join fetch a.listaUsoTerra as lut " +
" where a.listaUsoTerra.id = " +idTerra+ " order by a.descricao";
E ele me retorna exatamente três registros!! Porém todos iguais…
Se alguém souber… por favor ajude…
Obrigado