Bonjour,
Aprés un petit test,
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.
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();
Je ne comprend pas pourtant dans le fichier hbm j'ai :
Donc toute modification devrait etre répercutée.
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>
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é)
Partager