J'utilise une combinaison de Spring 2.5.6 et d'annotations Hibernate. J'ai trois objets (tables ou w/e) à l'étude: Client, Adresse, Commande. Le client a la propriété Cascade DELETE_ORPHANS définie pour les adresses. Ce que je fais est une fusion de client, je déplace toutes les adresses et commandes d'un client à l'autre, puis place un peu désactivé sur l'ancien client. Je fais cela en supprimant les adresses de CustB et en les ajoutant à CustA. Ensuite, je sauvegarde CustA avec .update (custA), les adresses et les ordres se déplacent de manière appropriée, mais quand je mets à jour custB avec le bit désactivé, il efface mes adresses déplacées!Contournement de DELETE_ORPHANS dans une transaction lors du déplacement d'objets d'un parent vers un autre, hiberner
Lorsque je commente le DELETE_ORPHANS cela fonctionne très bien. Comment éviter que DELETE_ORPHANS ne supprime les adresses déplacées?
Ne devrais-je pas les retirer du custB et juste changer leur référence client? Si je fais tout cela dans une transaction au lieu de détacher les objets entre chaque opération, va-t-il se mettre à jour correctement avec DELETE_ORPHAN activé?