Bonjour,

Aprés un petit test,

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
26
27
 
Session session = HibernateUtil.openSession("loginAction");
		Transaction tr = HibernateUtil.beginTransaction(session, "loginAction");
		tr.begin();
 
		//Recup les données
		//PrevBeneficiaire ben = 
		PrevFicheInval fiche = (PrevFicheInval) session.get(PrevFicheInval.class, new Integer(35));
 
		//recupère en session les données saisie a la premiere partie
		//Arret
		PrevFicheInvalArret prevFicheInvalArret = new PrevFicheInvalArret();
		prevFicheInvalArret.setArretDateDebut(TraiterDate.stringToDate("01/03/2007"));
		prevFicheInvalArret.setArretDateFin(TraiterDate.stringToDate("01/04/2007"));
		prevFicheInvalArret.setArretObjet("TEST");
		prevFicheInvalArret.setArretEtat("EC");
//		PrevFicheInval fiche2 = (PrevFicheInval) session.get(PrevFicheInval.class, fiche.getInvalFicheId());
//		fiche2.getInvalArrets().add(prevFicheInvalArret);
 
		fiche.setInvalRegimeAmeliore(false);
		fiche.getInvalArrets().add(prevFicheInvalArret);
 
		// On sauvegarde
		session.saveOrUpdate(fiche);
 
		tr.commit();
		session.close();
il se trouve que le nouvel objet que je rajoute à ma collection (prevFicheInvalArret) n'ai pas sauvegarder en BD alors que la modification sur l'objet fiche (passage du boolean a false) elle l'ai.

Je ne comprend pas pourtant dans le fichier hbm j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 <set name="invalArrets" table="prev_fiche_inval_arret" inverse="false" cascade="all" lazy="true" sort="mgpat.workflow.prevoyance.fichessuivi.ArretFicheComparator">
            <key>
                <column name="arret_fiche_id" />
            </key>
            <one-to-many class="PrevFicheInvalArret" />
 
        </set>
Donc toute modification devrait etre répercutée.

PS: Je viens de rajouter un test aprés l'ajout de l'objet à al collection et la taille de mon set est toujours le même ! (resté à un) On dirait que le add na pas fonctionné)