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:
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:
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);
}