ManyToMany modification du contenu d'un set
J'ai un comportement extrêmement bizzard lorsque j'ajoute un élément à un Set dans une relation manyToMany
Code:
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; |
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:
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);
} |
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.
Une idée ?