Bonjour,

Je m'interroge sur un phénomène assez intriguant...

J'ai mappé une collection sous forme de Set (relation many-to-many).
Mais pour des raisons d'affichage, j'ai besoin de pouvoir trier la liste.
Du coup, ni une ni deux, je transforme mon set en arraylist.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public Event executerRechercherListeProgrammesBascules(RequestContext rc) throws Exception
			{
				Long gestion = HabilitationUtilitaire.getGestionCourante(rc);
		        SelectionConsultationAjoutProgrammeBasculeForm selectionProgrammesBascules = (SelectionConsultationAjoutProgrammeBasculeForm) rc
						.getFlowScope().get(getFormObjectName());
				SousTotal programmesbascules = consocategopeserviceSO.rechercherSousTotalParcodeSousTotal(selectionProgrammesBascules
						.getSousTotal().getCodeSousTotal(), gestion);
 
				// faire directement un set du formulaire avec lo'bjet soustotal
				// selectionne (le relire, et faire le set)
				if (programmesbascules != null)
					{
					  List<Programme> pgmbascules = new ArrayList<Programme>(programmesbascules.getLesPgmsBasculesDsChorus());
 
					Comparator<Programme> bc = new BeanComparator("ministere.codeMinistere");
						Collections.sort(pgmbascules, (Comparator<? super Programme>) bc);
						rc.getFlowScope().put("lesLignesProgrammeBascules", pgmbascules);
 
						// rc.getFlowScope().put("lesLignesProgrammeBascules",
						// programmesbascules.getLesPgmsBasculesDsChorus());
 
	            parametrerCheckboxes(rc);
					}
				return success();
			}
A l'affichage, tout va bien...
Seul hic : si je supprime un élément de mon set (une sélection sur une checkbox, puis l'utilisateur confirme sa demande), la liste se met à jour sans même que je l'ai reconstituée...

D'où ma question : comment ça marche? Y a t-il une synchro d'office entre le set et la liste?
D'avance, merci.
Tom