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 :oops:)
Le test consiste à faire une insertion en base de données, une modification, puis une suppression, tout simple. Voici le code de ma fonction :
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 ???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 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); }