Insertion en double dans ma bdd
Bonjour,
je développe actuellement une appli J2EE (Struts+Hibernate) et il faut dire que c'est ma première avec Hibernate.
Allons à l'essentiel : l'utilisateur peut créer des fiches de signalisations grâce à un formulaire. Mon problème est que lorsqu'il valide le formulaire, j'ai de temps en temps (et c'est ce qui me perturbe le plus) des doublons dans ma base.
Je vous donne un peu de code :
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| public Integer createNewDemSout(Sig_Sout newSigSout, String appli,
String intervenant) {
intervenant = intervenant.toLowerCase();
Session session = HibernateUtil.getCurrentSession();
Transaction tx = session.beginTransaction();
T_Dem_S dem_S = new T_Dem_S();
String date_aff = newSigSout.getDate_aff();
String date_aff_H = newSigSout.getH_date_aff();
String date_aff_M = newSigSout.getM_date_aff();
String new_date_aff = getCorrectDate(date_aff, date_aff_H, date_aff_M);
dem_S.setDate_aff(new_date_aff);
dem_S.setLib_dem(newSigSout.getLib_dem());
dem_S.setRef_cli(new Integer(newSigSout.getRefus_client()).intValue());
dem_S.setDem_oga(new Integer(newSigSout.getDem_OGA()).intValue());
dem_S.setPaliatif(new Integer(newSigSout.getPaliatif()).intValue());
dem_S.setTps_eff(newSigSout.getTps_eff());
dem_S.setCommentaire(newSigSout.getCommentaire());
String etat = "Affectée";
if (!newSigSout.getDate_pec().trim().equals("")) {
String new_date_pec = getCorrectDate(newSigSout.getDate_pec(),
newSigSout.getH_date_pec(), newSigSout.getM_date_pec());
dem_S.setDate_pec(new_date_pec);
etat = "Prise En Compte";
}
dem_S.setApplication(appli);
dem_S.setCriticite(newSigSout.getCriticite());
dem_S.setOrig_dem(newSigSout.getOrig_dem());
dem_S.setType_peri(newSigSout.getType_peri());
dem_S.setTache(newSigSout.getTache());
dem_S.setEtat(etat);
T_Intervenant tIntervenant = (T_Intervenant) session.load(
T_Intervenant.class, intervenant);
tIntervenant.addFicheS(dem_S);
dem_S.setId_intervenant(intervenant);
session.saveOrUpdate(tIntervenant);
tx.commit();
session.flush();
session.clear(); |
La partie en rouge est dûe car je fais une relation 1-N avec Hibernate (tutotrouvé ici : http://www.tellaw.org/index.php?2005...avec-hibernate)
Si jamais vous pourriez m'éclaircir un peu, ça serait cool ! :king:
Merci :oops:
PS : je peux vous donner le code de la jsp et autres si vous en avez besoin.