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 :

[Hibernate] Transaction not successfully started


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Par défaut [Hibernate] Transaction not successfully started
    bonjour tout le monde , j'affiche des informations relatives à un reeprtoire (table dans ma base de donnée) dans un formulaire et quand je voudrais modifier un champs ça ne passe pas et voila les erreurs qui m'affichent.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    exception org.apache.jasper.JasperException: Transaction not successfully started    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    cause mère org.hibernate.TransactionException: Transaction not successfully started    org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:100)    cmd.cmdRepertoire.modificationRepertoire(cmdRepertoire.java:150)    org.apache.jsp.HTML.envoi_005fmodif_005frep_jsp._jspService(envoi_005fmodif_005frep_jsp.java:94)    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    je dévellope avec jsp et les classes avec hibernate
    voici le code de la jsp :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <%@ page import="java.util.*,mapping.*,metier.*,cmd.*;" %>
    <%! String nom="java";
     String  libelle=" sasa";
      int idRep=0;
     String  id=" sasa";%>
    <jsp:useBean id="repertoire" scope="request" class="metier.repertoire"/>
    <jsp:useBean id="cmdRepertoire" scope="request" class="cmd.cmdRepertoire" />
    <html>
    <head>
    <body>
     
          <% 
         id=request.getParameter("id"); 
         nom=request.getParameter("nomrep");
           libelle=request.getParameter("libellerep");%>
     
        <% repertoire rep= new repertoire(); 
         idRep=Integer.parseInt(id);
       rep.setIdRepertoire(idRep);    
           rep.setNomRepertoire(nom);
        rep.setLibelleRepertoire(libelle);
      cmdRepertoire test = new cmdRepertoire();
      test.modificationRepertoire(rep);  %>
     
     
     
    </body>
    </html>
    la classe modification :
    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
       public repertoire modificationRepertoire(repertoire Rep){
      Transaction tx = session.beginTransaction();
      rep=Rep;
      try{
      Repertoire contact =(Repertoire) session.load(Repertoire.class, new Integer(rep.getIdRepertoire()));
      contact.setLibelleRepertoire(rep.getLibelleRepertoire());
      contact.setNomRepertoire(rep.getNomRepertoire());
      session.save(contact);}
      catch(Exception e){
       tx.rollback();
       System.out.println("erreur"+e.getMessage());
       }
      tx.commit();
      return Rep;
     }
    merci d'avance pour votre aide

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Salut,

    Si ta transaction n'arrive pas à démarrer, celà veut dire un problème db et non programmatif.
    Peut tu donner plus de détail sur :
    - la base de données utilisées
    - les fichiers de configuration hibernate (hibernate.cfg.xml)

    N'y as-t-il pas d'erreur à l'initialisation d'hibernate?

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Par défaut
    merci de votre reponse alors voila
    j'utilise la base de donnee Mysql
    le fichier de configuration
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration
        PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     
    <hibernate-configuration>
        <session-factory >
     
            <!-- local connection properties -->
            <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</property>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password"></property>
            <!-- property name="hibernate.connection.pool_size"></property -->
     
            <!-- dialect for MySQL -->
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
     
            <property name="hibernate.show_sql">false</property>
            <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
            <mapping resource="Employer.hbm.xml" />
            <mapping resource="Document.hbm.xml" />
            <mapping resource="Repertoire.hbm.xml" />
            <mapping resource="Droit.hbm.xml" />
            <mapping resource="Authentification.hbm.xml" />
            <mapping resource="Profils.hbm.xml" />
        </session-factory>
    </hibernate-configuration>
    et voila le fichier de mapping Repertoire

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping package="mapping">
        <class
            name="Repertoire"
            table="repertoire"
        >
            <id
                name="Id"
                type="int"
                column="idRepertoire"
            >
            </id>
     
            <property
                name="IdParent"
                column="idParent"
                type="int"
                not-null="false"
                length="5"
            />
            <property
                name="LibelleRepertoire"
                column="libelleRepertoire"
                type="string"
                not-null="true"
                length="50"
            />
            <property
                name="NomRepertoire"
                column="nomRepertoire"
                type="string"
                not-null="true"
                length="20"
            />
     
     
        </class>    
    </hibernate-mapping>
    merci d'avance

  4. #4
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Si tu n'as pas d'autres erreurs (ni à l'initialisation d'hibernate, ni au moment de la création de la transaction) alors je ne voit pas trop d'où peut venir l'erreur. Ce qui est bizzard c'est que tu n'ais pas l'erreur SQL correspondante, ce qui laisserait présager que hibernate ne réussit pas à démarrer la transaction et non la base de données.

    Réussit-tu as te connecter à ta base de données?

    Sinon, essaye sans utiliser de transaction, de toute façon une transaction 'est utile que si tu veut chainer plusieurs action DB, hors ici tu ne fait qu'une insertion donc la transaction c'est pas nécessaire

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2006
    Messages : 66
    Par défaut
    oui biensur je me connecte a ma base de donnee
    j'ai meme fait des jsp d'ajout et ca marche tres bien
    oui t'a raison c bizare c pour ca que j'arrive pa a resoudre le probleme

  6. #6
    Invité
    Invité(e)
    Par défaut
    salut
    je pense que l'erreur vien pa de ce code que tu nous a montrer mais d'un autre traitement dans une autre classe ou je pense de le nomage de tes attribut car y'a aucune erreur dans ce code que tu nous a montrer
    verifie un peut ton projet et dit moi si marche pa tjr

  7. #7
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Par souci de non ambiguité, met le commit() dans le try et non a la fin ... car, si l'on imagine qu'il catche l'exception, il va ensuite executer le commit() juste derrière un rollback() ... en terme de transaction, une opération commit/rollback, termine la transaction en cours ... il faut donc que tu choisisses parmi les deux...

Discussions similaires

  1. [Core] Transaction not successfully started
    Par nadhir84 dans le forum Hibernate
    Réponses: 2
    Dernier message: 19/08/2011, 10h47
  2. Hibernate Could not join transaction
    Par Alec6 dans le forum Hibernate
    Réponses: 1
    Dernier message: 21/08/2010, 20h02
  3. Réponses: 1
    Dernier message: 28/05/2009, 16h57
  4. [JasperServer][Oracle] Could not roll back Hibernate transaction
    Par CPI_en_mousse dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/05/2009, 16h56
  5. [Spring][Hibernate] Transaction déclarative
    Par mauvais_karma dans le forum Hibernate
    Réponses: 13
    Dernier message: 03/07/2008, 17h09

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