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 ???