Minha duvida consiste no seguinte:
Tenho uma classe Menu e outra MenuItem.
Gostaria que, ao trazer o Menu, a sua respectiva colection de menuitem seja preenchida sem que eu tenha q fazer uma nova busca.
Utilizei o Fetch no mapeamento vejam como ficou:
Veja se voce de fato nao tem itens duplicados, e que os relacionamentos estao certos. Menu tem o seu id, MenuItem tambem tem seu id unico, assim como uma FK para Menu. O Join gerado sera algo como
select
menu0_.id as id4_1_,
menu0_.nome as nome4_1_,
menuitems1_.menu_id as menu3_3_,
menuitems1_.id as id3_,
menuitems1_.id as id5_0_,
menuitems1_.menu_id as menu3_5_0_,
menuitems1_.nome as nome5_0_
from
Menu menu0_
left outer join
MenuItem menuitems1_
on menu0_.id=menuitems1_.menu_id
where
menu0_.id=?
O que tras os dados esperados, desde que as tabelas tambem estejam com dados corretos.
Rafael
marlonramon
Realmente, nao tenho ideia do que pode estar acontecendo…
o menu nao esta duplicado no banco jah verifiquei varias vezes…
caso alguem ainda tenha interesse em me ajuda, vou postar o mapeamento das duas classes.
A consulta continua a mesma…
Pra ter certeza que os menus sao iguais, apos a consulta verifiquei os IDs e realmente sao iguais…
Rafael_Steil
Qual a query que esta sendo gerada?
Rafael
marlonramon
select
this_.idmenu as idmenu6_1_,
this_.imagem as imagem6_1_,
this_.nome as nome6_1_,
menuitemco2_.menu_idmenu as menu5_3_,
menuitemco2_.idmenu_item as idmenu1_3_,
menuitemco2_.idmenu_item as idmenu1_7_0_,
menuitemco2_.descricao as descricao7_0_,
menuitemco2_.imagem as imagem7_0_,
menuitemco2_.menu_idmenu as menu5_7_0_,
menuitemco2_.nome as nome7_0_
from
menu this_
left outer join
menu_item menuitemco2_
on this_.idmenu=menuitemco2_.menu_idmenu