Bonjour,
Je suis en Hibernate/Spring et je tente d'exécuter la classe de test suivante :
Cela a pour effet d'afficher ceci dans la console, logs hibernate sql activés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected UserDAO userDAO; // Injection Spring public void testUser(){ //1. Insert puis delete sur le même objet User a = userDAO.newUser("a"); userDAO.deleteUser(a); System.out.println("---"); //2. Delete un objet qui existe déjà User user = userDAO.getUserWithName("JUnit"); assertNotNull(user); userDAO.deleteUser(user); }
Mon soucis est le suivant : alors que la première partie du code s'execute sans aucun problème (insert du user "a", puis delete), mon second delete ne fonctionne pas, je ne comprend pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Hibernate: insert into t_User (c_name, c_version) values (?, ?) --- Hibernate: delete from t_User where c_id=? Hibernate: select this_.c_id as c1_22_0_, this_.c_name as c2_22_0_, this_.c_version as c3_22_0_ from t_User this_ where this_.c_name=?
Pour info, voici la calsse userDAO :
Quelqu'un aurait-il un idée expliquant cela?
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 public class UserDAOImpl extends HibernateDaoSupport implements UserDAO { public User newUser(String name){ User user = new User(); user.setName(name); getHibernateTemplate().save(user); return user; } public void deleteUser(User user){ getHibernateTemplate().delete(user); } public User getUserWithName(String name) { Criteria criteria = getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(User.class); return (User) criteria.add(Restrictions.eq("name", name)).uniqueResult(); } }
A toutes fin utiles, le code du POJO et du hbm.xml se trouve ici
http://www.developpez.net/forums/sho...d.php?t=462235
Partager