IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Insertion en double dans ma bdd


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Par défaut 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 : 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
    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 !
    Merci
    PS : je peux vous donner le code de la jsp et autres si vous en avez besoin.

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Tu es sur que tu ne passe pas 2 fois dans la methode createNewDemSout(...)
    Verifie tes mappings et tes forward a struts pour etre sur que tu n appelle pas deux fois la meme action.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Par défaut
    Non, sinon la création serait systématique...
    Je me trompe ?

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Ben ca depend si tu appelle cette methode depuis plusieurs endroits differents.

    Arrives-tu a reproduire l erreur a volonte?

    Ah sinon j avais rencontre une erreur de ce type une fois sinplement en cliquant une deuxieme fois sur le lien avant que le page ne se recharge.Peut etre c est ca tout connement.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Par défaut
    Je n'arrive pas à déterminer l'origine du problème et je ne sais pas répéter l'erreur à volonté...

    Personne ne peux me donner plus d'infos ?

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    Log ton contexte d'appel, ca permettera d'isoler la problématique (exemple passage dans une action doublé ..)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion de données dans une BDD Access
    Par LeMeD dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/01/2010, 16h43
  2. [MySQL] php/mysql Insertion de données dans ma bdd
    Par djavrel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/04/2009, 18h16
  3. insertion de photos dans une bdd access
    Par nboubeur dans le forum ASP
    Réponses: 5
    Dernier message: 25/08/2008, 16h14
  4. Insertion de données dans une BDD Oracle avec VB.NET
    Par DashRendar dans le forum Accès aux données
    Réponses: 7
    Dernier message: 23/01/2008, 08h47
  5. Réponses: 3
    Dernier message: 18/06/2007, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo