Bom dia pessoal, eu tenho um relacionamento de um-para-muitos, ou seja, um pedido pode ter vários itens, e eu quero deletar, o conjunto de itens que tem um determinado id de pedido. Não tô entendendo como fazer isso, alguém pode me dar uma dica, ou exemplo?
valeu
Bom se o seu mapeamento no Pedido for um Bag com os itens…
formando uma lista de itens…
então é so limpar essa lista e limpar a referência dos itens e atualizar…
envie seu mapeamento que sera mais facil lhe ajudar
só que o meu mapeamento está com o cascade= none!!
Será que mesmo o cascade sendo none funciona? Vou tentar fazer isso que você falou, valeu!
[code]
<property name="obs" type="string" column="OBS" />
<property name="data" type="string" column="DATA" />
<property name="valorTotal" type="double" column="VALORTOTAL" />
<property name="situacao" type="boolean" column="SITUACAO" />
<!-- com a opção cascade none, o sistema pode ficar mais protegido -->
<set name="itens" inverse="false" cascade="none" order-by="IDPEDIDO" >
<key column="IDPEDIDO" not-null="true"/>
<one-to-many class="PedidoItem" />
</set>
[/code]
[code]
[/code]
Como é que eu faço pra limpar?
Você pode alterar o parametro cascade para ALL, assim sempre que um pedido for excluido
todos os itens serão excluidos também
só que tem um detalhe, e se eu quiser deletar apenas os items no pedido?!
Quero dizer, deletar os itens de um determinado pedido…
Cara tenho quase certa de que não haverá problemas, pois o mapeamento esta sendo utilizado na classe Pedido como many-to-one
Para que ocorresse esse problema, você teria que ter mapeado um one-to-many na classe Item e lá colocar um cascade=“ALL”
mas vou testar um exemplo aqui e já posto caso de certo
Só que não existe nenhum many-to-one, na classe itens, eu tenho um set em pedido apenas, será que esse é o problema? Observe os exemplos do mapeamento…