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 :

hibernate : probleme suppression objet et session


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut hibernate : probleme suppression objet et session
    bonjour , voici l'erreur que j'obtiens lorsque je tente de supprimer mon objet !!

    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:

    cependant cette erreur ne survient que dans mon application Web (struts 1.2).

  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
    Cela signifie que ton objet est utliise ailleurs, tu y'a acceder a travers un get ou un criteria ou je ne sais quoi d'autre ....
    Et ensuite tu tentes de le supprimer.

    fais voir le code ...

  3. #3
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut
    Ma classe Action

    Pays pays =new Pays();
    //je recupere l'identidiant de l'objet a supprimer!!!
    pays.setCodePays(Integer.parseInt(paysfrm.getId()));

    paysfrm.reset(mapping, request);
    paysDao.supprimerObjet(pays);
    ...............................................
    Ma classe DAO
    public void supprimerObjet(Object obj) {
    Session session = InitHibernateSessionFactory.currentSession();
    Transaction transaction = session.beginTransaction();
    try {
    session.delete(obj);
    transaction.commit();
    } catch (HibernateException ex) {
    transaction.rollback();
    ex.printStackTrace();
    }
    }
    ...................................................................

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    C'est pas vraiment comme ça qu'il faut faire pour supprimer un objet.

    Fais plutot juste avant le delete, un load avec l'id récupéré.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Bonjour,
    Plutôt que de passer un objet "Pays" au DAO pour la suppression, passe-lui juste l'id et ta méthode "supprimerObjet()" pourrait être comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void supprimerObjet(Integer id) {
          Session session = InitHibernateSessionFactory.currentSession();
          Transaction transaction = session.beginTransaction();
     
          Pays p = session.load(Pays.class, id);
          session.delete(p);
     
          transaction.commit();
    }
    Ceci devrait résoudre ton problème.
    Bon courage.

  6. #6
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut

    merci il fonctionne a merveille !!!

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

Discussions similaires

  1. Aide hibernate Suppression Objet
    Par ahmedpa dans le forum Hibernate
    Réponses: 3
    Dernier message: 17/03/2014, 15h29
  2. [Spring-Hibernate] Probleme de session
    Par Vire7777 dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/11/2010, 15h12
  3. Réponses: 2
    Dernier message: 29/11/2007, 15h25
  4. hibernate : probleme session.load
    Par doudou_angelus dans le forum Hibernate
    Réponses: 2
    Dernier message: 20/09/2007, 09h23
  5. Réponses: 2
    Dernier message: 30/05/2007, 15h54

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