Je recupère un User de ma base de données, que je place en Session pour traitement via formulaire HTML :

L'objet recuperé est donc detaché de la session hibernate

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
us = gestionUser.recupererUser(Integer.parseInt(req.getParameter("id")));
		 			HttpSession s = req.getSession(true);
		 			s.setAttribute("searchUser",us);
		 			RequestDispatcher _requestDispatcher = this.getServletContext().getRequestDispatcher(res.encodeURL("/pages/restricted/restrictedAdmin/detailUser.jsp"));
					_requestDispatcher.forward(req, res);
Puis dans un autre traitement, je recupère l'objet de la session, je voudrais le reattacher à la session afin de lui transmettre des modifications :
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
Session s = accessManager.startSession();
			accessManager.startTransaction(s);
			accessManager.attach(us,s);
			us.setNom((String)paramsUser.get("nom"));
			us.setPrenom((String)paramsUser.get("prenom"));
			us.setAdresse((String)paramsUser.get("adresse"));
			us.setSociete((String)paramsUser.get("societe"));
			us.setCp(Integer.parseInt((String)paramsUser.get("cp")));
			us.setVille((String)paramsUser.get("ville"));
			us.setMailPerso((String)paramsUser.get("mail"));
			us.setTel((String)paramsUser.get("tel"));
			if (!paramsUser.get("login").equals("") && !paramsUser.get("pass").equals("")){
				modifPass = true;
				us.getAuthentification().setLogin((String)paramsUser.get("login"));
				us.getAuthentification().setPass((String)paramsUser.get("pass"));
			}
		}
avec attach de la sorte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public void attach(Object o, Session session) throws HibernateException {
		session.lock(o,LockMode.UPGRADE);					
	}
Or si je modifie les champs, donc avec les set... cela modifie mon objet User, rien ne se passe en BDD. Aucune requète n'est effectué.