Bonjour,

J'ai lu ds la doc hibernate 3 qu'on ne pouvait utiliser la fonction "update" de la classe org.hibernate.Session que si l'objet sur lequel on fait l'update n'etait pas deja ds la session hibernate donc que si l'objet etait detaché. Ds le cas contraire une exception devrait etre jetée...

Mais alors je ne comprend pas pourquoi le code suivant ne lance aucune exception:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    public void updateDesigner(Designer designer) {
 
        Designer currentDesigner = designerDAO.findDesignerById(designer.getId());
 
        currentDesigner.setBiographie(designer.getBiographie());
        currentDesigner.setNom(designer.getNom());
        currentDesigner.setPrenom(designer.getPrenom());
 
        designerDAO.updateDesigner(currentDesigner);
    }



voici l'implementation des methodes de la dao:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public Designer findDesignerById(Integer id) {
 
        Session session=HibernateUtil.getSessionFactory().getCurrentSession();
 
        //la methode get renvoit null si l'objet n'existe pas
        return (Designer)session.get(Designer.class, id);
    }
 
public void updateDesigner(Designer designer) {
 
        Session session=HibernateUtil.getSessionFactory().getCurrentSession();
        session.update(designer);
    }