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 :

problème de supression avec Hibernate


Sujet :

Hibernate Java

  1. #1
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut problème de supression avec Hibernate
    Bonjour,
    Je commence mon application, et j'ai développer un test JUnit pour voir si ma SessionFactory fonctionne correctement (et pour mieux appréhender Hibernate en même temps )
    Le test consiste à faire une insertion en base de données, une modification, puis une suppression, tout simple. Voici le code de ma fonction :
    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
     
    public void testCRUD() {
    		//initialisation
    		Session session = HibernateUtil.getSessionFactory().openSession();
     
    		//insertion
    		Produit prodInsert = new Produit();
    		prodInsert.setCodeISBN13("0000");
    		prodInsert.setTitreProduit("Un titre pour l'insertion Test");
    		prodInsert.setCodeEAN("0000");
    		session.beginTransaction();
    		session.save(prodInsert);
    		session.getTransaction().commit();
     
    		//listing
    		Produit prodListing = (Produit) session.load(Produit.class, new String("0000"));
    		assertEquals("Une insertion ne s'est pas faite ou s'est mal faite (voir si il existe un produit avec 0000 comme EAN13", prodListing.getCodeEAN(), "0000");
     
    		//modification
    		session.beginTransaction();
    		prodListing.setTitreProduit("Un nouveau Titre ! pour test");
    		session.update(prodListing);
    		session.getTransaction().commit();
    		//voir si la modification s'est effectuée
    		prodListing = (Produit) session.load(Produit.class, new String("0000"));
    		assertEquals("La modification ne s'est pas correctement passée", prodListing.getTitreProduit(), "Un nouveau Titre ! pour test");
     
    		//suppression
    		session.beginTransaction();
    		session.delete(prodListing);
    		session.getTransaction().commit();
    		session.flush();
    		session = HibernateUtil.getSessionFactory().openSession();
    		//session.clear();
    		Produit prodListing2 = (Produit) session.load(Produit.class, new String ("0000"));
    		assertEquals("L'enregistrement ne s'est pas effacé !!", prodListing2.getCodeEAN(), null);
    	}
    Le problème est que, dans la dernière partie, on est censés récupéré un objet vide (car supprimé auparavant) mais j'arrive toujours à avoir l'objet !!!! Il n'est pas dans la base de données mais il le récupère quand même, quesque je ne comprends pas ???

  2. #2
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Ok, en utilisant session.get() au lien de session.load(), ça fonctionne !!
    Quelqu'un peut il m'expliquer la différence entre ces deux méthodes ?????

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

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    De tête, à vérifier avec la doc:
    - get te renvoie null si l'objet n'existe pas
    - load lance une exception si l'objet n'existe pas

  4. #4
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    c'est ça le problème !!! load() ne me genère pas d'Exception, elle me renvoi l'objet que j'ai supprimé

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Et avec le session.clear, ça ne change rien ?

  6. #6
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Non ! session.clear(), session.close() et session.flush() n'y font rien !

Discussions similaires

  1. Problème d'initialisation avec Hibernate
    Par fabou3377 dans le forum NetBeans
    Réponses: 3
    Dernier message: 03/04/2009, 06h41
  2. [Data] Problème de lazy avec hibernate et Spring
    Par Invité dans le forum Spring
    Réponses: 3
    Dernier message: 20/02/2008, 20h03
  3. Problème requete SQL avec hibernate
    Par kakahn dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/01/2008, 12h08
  4. Problème de synchronisation avec Hibernate
    Par toutoune60 dans le forum JSF
    Réponses: 2
    Dernier message: 15/04/2007, 12h27
  5. Problème de connection avec Hibernate Synchronizer
    Par ouzzine dans le forum Hibernate
    Réponses: 8
    Dernier message: 30/11/2006, 13h51

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