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

Struts 2 Java Discussion :

Problème de mises à jour d'un élément de la table


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut Problème de mises à jour d'un élément de la table
    Bonjour tout le monde, je suis entrain de développer en J2EE une application de gestion d'employés en utilisant Struts2 et Hibernate.
    J'arrive à ajouter des employés, afficher la liste des employés et aussi supprimer un élément de cette liste et donc de la table.
    Mon souci c'est quand j'essaye de modifier les données d'un employé donné.
    Au lieu que les modifications soient faites sur le même employé, un autre employé s'ajoute à la table avec les nouvelles modifications.
    voici mon code.
    Mon controlleur ContactManager.java
    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
     
    //Insertion
    	public Contact inserer(Contact contact) {
    		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		session.save(contact);
    		session.getTransaction().commit();
    		return contact;
    	}
    //Mise à jour
    	public Contact maj(Contact contact) {
    		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		session.update(contact);
    		session.getTransaction().commit();
    		return contact;
    	}
    Ma classe d'action ContactAction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public String insererOUmaj(){
     
        	if (contact.getId() == null) {
        			linkController.inserer(contact);
        		} else {
        			linkController.maj(contact);
        		}
        	return "success";
        }

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Par défaut
    Bonsoir,

    ton code n'est pas assez précis.. bon c pas grave.

    ca depends d'ou tu sors ton contact à mettre a jour,

    de maniere generale pour pas que tu ais de pb, fais un session.merge(),

    la difference entre le update et le merge est assez subtil, dans le cache 1er niveau, a voir si t'a un peu de pratique.

    en gros tu prends ton contact a mettre a jour, qui doit etre un objet avec le meme id que l'enregistrement que tu veux updater, et puis c'est tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Contact maj(Contact contact) {
    		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		session.merge(contact);
    		session.getTransaction().commit();
    		return contact;
    	}
    voila bonne soirée

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/07/2014, 13h19
  2. Réponses: 7
    Dernier message: 20/06/2014, 10h24
  3. [SP 2007] Problème de mise à jour d'un élément avec EventHandler
    Par Skaribou dans le forum Développement Sharepoint
    Réponses: 11
    Dernier message: 18/01/2012, 14h29
  4. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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