Ceci n'est pas une relation parent-enfant. Les enfants n'ont qu'un seul parent (l'appartenance au parent). C'est une relation plusieurs-à-plusieurs entre entités indépendantes. C'est une différence importante.
Vous ne pouvez pas réellement supprimer les "enfants" du "parent" directement dans HQL comme c'est le cas actuellement. Ce sont vos options:
- charger les "parents" dans la mémoire et supprimer le "enfant" de la liste.
- Ajouter une référence de "l'enfant" aux "parents". Rendre l'autre relation inverse. Il devrait effectivement supprimer automatiquement l'élément dans la table de liens lorsque vous supprimez un «enfant», car le lien appartiendrait alors à «l'enfant».
- Supprimez le lien à l'aide de SQL natif. Ce n'est pas sympa, mais aussi pas trop mal car c'est un sql standard trivial.
ouais je me rends compte que c'est un mant-to-many, était daft. J'ai ajouté une propriété à 'Child' mais je l'ai simplement rendue privée pour permettre aux suppressions de se ranger automatiquement sans exposer la collection –