IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

problème pour reattacher un objet à une session


Sujet :

Hibernate Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    370
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 370
    Points : 223
    Points
    223
    Par défaut problème pour reattacher un objet à une session
    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é.

  2. #2
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 143
    Points : 56
    Points
    56
    Par défaut
    Tu as bien un session.save() dans ton manager ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    370
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 370
    Points : 223
    Points
    223
    Par défaut
    Euh oui pourquoi ?

    La je ne veux pas resauvegarder un nouvel objet, je veux mettre à jour un objet deja present en base mais ou des modif sont apporté ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2011, 20h36
  2. Réponses: 4
    Dernier message: 12/12/2006, 10h22
  3. Réponses: 28
    Dernier message: 24/05/2006, 18h20
  4. Réponses: 4
    Dernier message: 19/04/2006, 15h10
  5. problème pour l'ajout d'une clé étrangère
    Par ELKCHAOU dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/12/2005, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo