Bom, estou fazendo um mapeando de 2 classes via XML com hibernate (por opção, não quero usar JPA). A Classe Venda e a Classe ItemVenda, onde na Classe Venda tenho um Set itens.
Quando crio uma nova Venda e adiciona os itens no “bean Venda” e mando salvar a Venda ele cascateia normalmente todos os itens da venda e salva os mesmos, o problema é que quando faço um HQL buscando pela Venda de ID 123 ele retorna 20 Objetos Venda, que correspondem exatamente aos 20 itens que tem na Venda 123. Ele retorna repetidamente 20 vezes o objeto Venda, e se forem 30 itens, ele retornar 30 vezes o objeto Venda.
Tenho quase certeza que o problema está no meu mapeamento, então vou postar aqui pra vocês e espero que me ajudem.
Mapeamento na Venda.hbm.xml
<set name="itens" table="itemvenda" inverse="true" cascade="all" outer-join="false" fetch="subselect" >
<key>
<column name="id_venda" not-null="true" />
</key>
<one-to-many class="br.com.bean.ItemVenda" />
</set>
Mapeamento no ItemVenda.hbm.xml
<many-to-one name="venda" column="id_venda" class="br.com.bean.Venda" />