Boa tarde galera,
Estou com problemas de N+1 e estou tentando resolve-lo com join fetch, porém quando tenho mais de um relacionamento venho tendo problemas…
Minhas tabelas são da seguinte forma:
Visita AS visi
-visi.visi_id
-visi.vis_id
Visitante AS vis
-vis.vis_id
-vis.cid_id
Cidade AS cid
-cid.cid_id
-cid.est_id
Estado AS est
-est.est_id
Acho que deu pra entender como estão minhas tabelas…
O que eu tentei foi o seguinte:
O erro que eu obtive foi:
Como eu faria o join fetch com mais de um relacionamento e não ter n+1 querys?
Consegui entender como funciona…
Obrigado pela atenção!
O problema que estou agora, é que não é obrigatorio ter cid_id, então algumas vezes ele é NULL então perderei dado.
Então com JOIN FETCH só será mostrado caso exista dados nos dois relacionamentos, correto?
Como eu faria pra mostrar o dado, e caso não exista o relacionamento, o objeto fique como NULL.
Por exemplo, meu código ficou assim:
No caso, as vezes v1.cid_id será NULL, e percebi que dessa forma eu perco os dados que v1.cid_id é NULL, como ficaria pra eu não perder esse dado?
Nesse caso eu vou conseguir fazer um LEFT JOIN FETCH?
Eu tentei com: LEFT JOIN FETCH vis.telefone AS t1 LEFT JOIN FETCH vis.telefoneEmp AS t2
E me deparei com o erro Hibernate cannot simultaneously fetch multiple bags
Li um pouco sobre e ainda não entendi pq acontece e como acertar…
[quote=faelzindc]Nesse caso eu vou conseguir fazer um LEFT JOIN FETCH?
Eu tentei com: LEFT JOIN FETCH vis.telefone AS t1 LEFT JOIN FETCH vis.telefoneEmp AS t2
E me deparei com o erro Hibernate cannot simultaneously fetch multiple bags
Li um pouco sobre e ainda não entendi pq acontece e como acertar…[/quote]
Aqui fala sobre isso: JPA: Mini Livro - Primeiros passos e conceitos detalhados.
[quote=Hebert Coelho][quote=faelzindc]Nesse caso eu vou conseguir fazer um LEFT JOIN FETCH?
Eu tentei com: LEFT JOIN FETCH vis.telefone AS t1 LEFT JOIN FETCH vis.telefoneEmp AS t2
E me deparei com o erro Hibernate cannot simultaneously fetch multiple bags
Li um pouco sobre e ainda não entendi pq acontece e como acertar…[/quote]
Aqui fala sobre isso: JPA: Mini Livro - Primeiros passos e conceitos detalhados.[/quote]