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?
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
ThiagoWorldCoder
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!
<hibernate-mappingpackage="bean"><classname="Pedido"table="PEDIDO"><idname="codigo"type="long"column="IDPEDIDO"><generatorclass="native"/></id><propertyname="obs"type="string"column="OBS"/><propertyname="data"type="string"column="DATA"/><propertyname="valorTotal"type="double"column="VALORTOTAL"/><propertyname="situacao"type="boolean"column="SITUACAO"/><!-- com a opção cascade none, o sistema pode ficar mais protegido --><setname="itens"inverse="false"cascade="none"order-by="IDPEDIDO"><keycolumn="IDPEDIDO"not-null="true"/><one-to-manyclass="PedidoItem"/></set></class></hibernate-mapping>
Você pode alterar o parametro cascade para ALL, assim sempre que um pedido for excluido
todos os itens serão excluidos também
ThiagoWorldCoder
só que tem um detalhe, e se eu quiser deletar apenas os items no pedido?!
ThiagoWorldCoder
Quero dizer, deletar os itens de um determinado pedido…
leandro.anjos
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
ThiagoWorldCoder
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…