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

BAZIEBY 3 Messages postés dimanche 14 octobre 2012Date d'inscription 14 novembre 2013 Dernière intervention - 7 oct. 2013 à 20:15 - Dernière réponse : BAZIEBY 3 Messages postés dimanche 14 octobre 2012Date d'inscription 14 novembre 2013 Dernière intervention
- 8 oct. 2013 à 10:27
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 

3 réponses

Répondre au sujet
KX 15366 Messages postés samedi 31 mai 2008Date d'inscriptionContributeurStatut 22 avril 2018 Dernière intervention - 8 oct. 2013 à 07:59
+1
Utile
1
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.
Cette réponse vous a-t-elle aidé ?  
BAZIEBY 3 Messages postés dimanche 14 octobre 2012Date d'inscription 14 novembre 2013 Dernière intervention - 8 oct. 2013 à 10:27
Merci ennormement KX. Mon problème est résolu
Commenter la réponse de KX
BunoCS 13764 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 20 avril 2018 Dernière intervention - 7 oct. 2013 à 23:31
0
Utile
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.