Bonjour,
Dans une relation ManyToMany, Je n'arrive pas à supprimer la relation parente à partir de la classe fille, voici ma configuration :
public classe Parente{ @ManyToMany(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH }) @JoinTable(name = "parent_has_child", joinColumns = { @JoinColumn(name = "parent_id") }, inverseJoinColumns = { @JoinColumn(name = "child_id") }) public Collection<Child> ChildList = new ArrayList<Child>(); }
public class Child{ @ManyToMany(mappedBy = "ChildList", cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH }) public Collection<Parent> ParentList = new ArrayList<Parent>(); }
Donc à partir d'un objet Child j'effectue les associations suivantes (les membres sont en public pour faciliter l'exemple)
// Création de la liste des parents sachant que les parents existent déjà en base de données Collection<Parent> rParentList = new ArrayList<Parent>(); ParentList.add(new Parent(parent1)); ParentList.add(new Parent(parent2)); ParentList.add(new Parent(parent3));
// Association avec l'objet fils qui existe lui aussi en base de données Child rChild = new Child(); rChild.ParentList = rParentList;
getSession().saveOrUpdate(rChild);
Malgré le code ci-dessus, les associations dans la table d'association ne sont pas crées. Pouvez-vous me dire quelle est l'erreur ?
Merci d'avance,
|