J'ai un comportement extrêmement bizzard lorsque j'ajoute un élément à un Set dans une relation manyToMany
j'ai mon getter / setter sur mon set et j'ai également une méthode qui me permet d'ajouter à la collection une nouvelle entité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** The adresse of the personne. */ @ManyToMany(fetch = FetchType.EAGER) @Cascade((org.hibernate.annotations.CascadeType.SAVE_UPDATE)) private Set<Adresse> adresses;
Le problème que je rencontre est lorsque je fais le getAdresses() le set récupéré ne contient que la nouvelle adresse. Je ne fais aucun autre appel en modification à ce Set.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void addAdresse(Adresse adresse) { Iterator<Adresse> iterator = this.getAdresses().iterator(); Set<Adresse> newSet = new HashSet<Adresse>(); newSet.add(adresse); while (iterator.hasNext()) { if (!newSet.contains(iterator.next())) { newSet.add(iterator.next()); } } this.setAdresses(newSet); }
Une idée ?
Partager