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 :

Probleme de Synchronisation entre la session hibernate et la base de donnée


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut Probleme de Synchronisation entre la session hibernate et la base de donnée
    bonjour tout le monde

    je sais pas c'est j'ai bien choisi le titre de mon sujet , mais voila le probleme que j'ai:
    Dans une page JSP, je liste mes enregistrement de ma base de donnée dans une table. JK'ajoute à ma table une colonne qui affiche pour chaque ligne le mot supprimer.
    Cliquer sur supprimer, c'est envoyer l'id de l'enregistremnt séléctionné à une autre page qui appelle une méthode pour la suppression, et fait un farwarding à ma premiere page.

    voila ma methode de suppression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void deleteClass1(Integer c){
    		Session session=HibernateSessionFactory.currentSession();
    		Transaction tx=session.beginTransaction();
    		Class1 classe=(Class1)session.load(Class1.class,c);
    		session.delete(classe);
    		tx.commit();
    	}
    et voila mon fichier de mapping:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <class name="packClasse1.Class1" table="classe1">
            <id name="idc" column="IdClasse1">
                <generator class="increment"/>
            </id>
            <property name="nomc" column="NomCl"/>
        </class>
    Lorsque ma premiere page est chargé de nouveau par l'action de farwarding, j'ai tout mes enregistrements sauf celui que j'ai supprimer (C'est normal), mais ce qui est n'est pas normal c'est l'erreur qui me sorte lorsque j'actualise ma page (Je clique sur le bouton actualiser de mon browser). :
    cet erreur dit que il y a un objet manquant (C'est l'objet que j'ai supprimé).
    Je crois que cette ne doit pas se produire ? Je suppose qu'il y a un probleme de synchronisation.
    Que pensez vous ? et comment je dois me proceder pour eviter cette erreur?

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    voilà l'erreur qui me sort :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    org.apache.jasper.JasperException: No row with the given identifier exists: [packClasse1.Classe1#3]
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    et voilà ma page jsp que j'utilise pour l'affichage de mes enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <body>
        <%
        	List list=Classe1Services.listClasse();
        	request.setAttribute("classes",list);
        %>
        <display:table name="classes">
        	<display:column property="nomc" title="Nom_Classe"/>
        	<display:column paramId="idClasse" paramProperty="idc" href="suppClasse.jsp">Supprimer</display:column>
        </display:table>
      </body>
    et pour le code de lapage qui appelle la methode suppression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <body>
        <%
        	String id=request.getParameter("idClasse");
        	Classe1Services.deleteClasse(new Integer(id));
        %>
        <jsp:forward page="listeClasses.jsp"></jsp:forward>
      </body>
    Qu'est ce que vous pensez de mon code ?
    autre chose la suppression se fait au niveau de la base de donnée.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Réponse bête, mais est-ce que le rafraichissement n'appelerait pas ta page de suppression par hasard ?
    Lance ton appli en DEBUG.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    je m'excuse, j'ai pas bien compris ta reponse?
    Réponse bête, mais est-ce que le rafraichissement n'appelerait pas ta page de suppression par hasard ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Quand tu cliques sur le bouton actualiser, est-ce bien la page d'affichage qui est appelée ou la page de suppression ?

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 191
    Par défaut
    Bien sur, C'est la page d'affichage.

Discussions similaires

  1. Annotations Hibernate et schéma Base de données MySQL
    Par bdtatr dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/07/2007, 07h12
  2. Réponses: 2
    Dernier message: 29/04/2007, 19h59
  3. Réponses: 1
    Dernier message: 23/01/2007, 11h06
  4. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18

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