Exception in thread "main" org.hibernate.InvalidMappingException [Résolu]

Messages postés
3
Date d'inscription
dimanche 14 octobre 2012
Dernière intervention
14 novembre 2013
-
slt tt le monde,

je travail sur un projet et j'utilise le langage JavaEE, les framworks JSF et Hibernate et netbeans 7.3 comme IDE.

j'ai suivi un tuto sur hibernate en vue d'avoir la main
j'ai crée une class une classe Personnes.java:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package personne;

import java.util.Date;

/**
 *
 * @author BAZIEBY
 */
public class Personnes {
    private Integer idPersonne;
    private  String prenompersonne;
   private   String nompersonne;
     private Date datenaisspersonne;

    public Personnes(String prenompersonne, String nompersonne, Date datenaisspersonne) {
        this.prenompersonne = prenompersonne;
        this.nompersonne = nompersonne;
        this.datenaisspersonne = datenaisspersonne;
    }

    public Personnes() {
    }

    public void setPrenompersonne(String prenompersonne) {
        this.prenompersonne = prenompersonne;
    }

    public void setNompersonne(String nompersonne) {
        this.nompersonne = nompersonne;
    }

    public void setDatenaisspersonne(Date datenaisspersonne) {
        this.datenaisspersonne = datenaisspersonne;
    }

    public void setIdPersonne(Integer idPersonne) {
        this.idPersonne = idPersonne;
    }


    public Integer getIdPersonne() {
        return idPersonne;
    }

    public String getPrenompersonne() {
        return prenompersonne;
    }

    public String getNompersonne() {
        return nompersonne;
    }

    public Date getDatenaisspersonne() {
        return datenaisspersonne;
    }    
}




et une classe TesPersonnes.java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package personne;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import java.util.Date;
import javax.transaction.Transaction;

/**
 *
 * @author BAZIEBY
 */
public class TestPersonnes {
    
    public static void main(String[] arg) throws Exception
    {
        Configuration config= new Configuration();
        config.addClass(Personnes.class);
        SessionFactory sessionFactory=config.configure().buildSessionFactory();
        Session session= sessionFactory.openSession();
        
        Transaction tx=null;
        try {
            tx=(Transaction) session.beginTransaction();
            Personnes personne =new Personnes("BAZIE", "Aristide", new Date());
            session.save(personne);
            session.flush();
            tx.commit();            
        } catch (Exception e) 
        {
            if(tx!=null)
            
                tx.rollback();
             throw e;
        }
        finally
        { 
            session.close();
        }
       sessionFactory.close();
    }
    
}


LE FICHIER DE mapping est:

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "[http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd]"> 

<hibernate-mapping>
   <class name="Personnes" table="personnes">
      <meta attribute="class-description">
         This class contains the personnes detail. 
      </meta>
      <id name="idPersonne" type="int" column="idPersonne">
         <generator class="native"/>
      </id>
      <property name="prenompersonne" column="prenompersonne" type="string" not-null="false"/>
      <property name="nompersonne" column="nompersonne" type="string"/>
      <property name="datenaisspersonne" column="datenaisspersonne" type="date"/>
   </class>
</hibernate-mapping>




mais à la compilation il y a une exception qui est générée:
Grave: Error parsing XML: XML InputStream(6) La cible de l'instruction de traitement correspondant à "[xX][mM][lL]" n'est pas autorisée.
Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource personne/Personnes.hbm.xml
 at org.hibernate.cfg.Configuration.addResource(Configuration.java:539)
 at org.hibernate.cfg.Configuration.addClass(Configuration.java:586)
 at personne.TestPersonnes.main(TestPersonnes.java:20)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
 at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508)
 at org.hibernate.cfg.Configuration.addResource(Configuration.java:536)
 ... 2 more
Caused by: org.dom4j.DocumentException: Error on line 6 of document  : La cible de l'instruction de traitement correspondant à "[xX][mM][lL]" n'est pas autorisée. Nested exception: La cible de l'instruction de traitement correspondant à "[xX][mM][lL]" n'est pas autorisée.
 at org.dom4j.io.SAXReader.read(SAXReader.java:482)
 at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
 ... 3 more


j'ai besoin d'aide car j'ai tout fait mais je ne retrouve pas l'erreur
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
15867
Date d'inscription
samedi 31 mai 2008
Statut
Contributeur
Dernière intervention
15 décembre 2018
1
Merci
Le problème est immédiat à comprendre, si tant est qu'on lise le message d'erreur :

Grave: Error parsing XML: XML InputStream(6) La cible de l'instruction de traitement correspondant à "[xX][mM][lL]" n'est pas autorisée.


Et qu'est-ce qu'il y a ligne 6 ? Justement l'instruction "<?xml" que l'on décrit comme non autorisée "[xX][mM][lL]"
En effet, tu as déjà déclaré ton format xml ligne 1, donc le doubler ligne 6 est une erreur.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

BAZIEBY
Messages postés
3
Date d'inscription
dimanche 14 octobre 2012
Dernière intervention
14 novembre 2013
-
Merci ennormement KX. Mon problème est résolu
Commenter la réponse de KX
Messages postés
14289
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
14 décembre 2018
0
Merci
Hello,
Je me suis permis de rajouter les balises code (4e icone au-dessus de la zone de texte) afin de gagner en lisibilité.
Merci d'y penser la prochaine fois ;)
Commenter la réponse de BunoCS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.