J'ai un comportement extrêmement bizzard lorsque j'ajoute un élément à un Set dans une relation manyToMany

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;
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
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 ?