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 :

le mapping provoque un NoClassDefFoundError


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Par défaut le mapping provoque un NoClassDefFoundError
    Bonjour

    je tente d'apprendre le fonctionnement d'hibernate mais j'ai un probleme quand j'ajoute mon mapping au fichier de conf, j'ai un NoClassDefFoundError.

    En détail :

    Je travail avec eclipse ; dans mon projet, j'ai l'arborescence suivante :

    +java/src/main
    hibernate.cfg.xml
    +com/maBoite/monprojet/persistence/
    HibernateUtil.java
    PersistenceDAOHibernate.java
    +com/maBoite/monprojet/persistence/hibernate
    Person.java
    Person.hdm.xml

    Le fichier HibernateUtil.java possede les méthodes static Session currentSession() et static void closeSession().

    le fichier PersistanceDAOHibernate.java, les methode pour écrire dans la base de donné et notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public final void addPerson(PersonModel pers) {
    		Person personHibernate = new Person(pers);
    		session.save(personHibernate);
    		transaction.commit();
    }

    Si mon fichier hibernate.cfg.xml contient uniquement les infos pour se connecter à la base de donné, j'ai une exception :
    org.hibernate.MappingException: Unknown entity: com.maBoite.monprojet.persistence.hibernate.Person
    Qui est provoqué à la ligne session.save(personHibernate);
    Ce qui est logique.

    Je rajoute donc la ligne suivante
    <mapping resource="com/maBoite/monprojet/persistence/hibernate/Person.hbm.xml"/>
    dans mon fichier hibernate.cfg.xml.

    Et la, j'ai une exception violente NoClassDefFoundError

    J'en deduit que la ligne que je rajoute dans mon hibernate.cfg.xml n'a pas bonne, mais j'ai changé plusieurs fois de chemin, de syntax, nada, rien n'y fais.


  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    org.hibernate.MappingException: Unknown entity: com.maBoite.monprojet.persistence.hibernate.Person
    +com/maBoite/monprojet/persistance/hibernate
    Person.java
    Person.hdm.xml
    Un coup tu as "persistance" et l'autre "persistence" (e et a)

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Par défaut
    C'est juste un faute d'ortho ( )quand j'ai tapé le message.

    Le probleme est ailleur.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Par défaut
    je n'ai plus NoClassDefFound...

    Mais à la place, j'ai une autre exceptio, et j'arrive pas trop à comprendre ce qui m'a fais passer de l'une à l'autre !
    Initial SessionFactory creation failed.org.hibernate.MappingException: entity class not found: Person
    java.lang.ExceptionInInitializerError
    java ce met à avoir des exception aléatoire... (disons que j'arrive à provoquer des erreur aléatoire...)
    c'est grave doc' ?

    Edit :

    Tient et maintenant, sans rien changer j'ai cette erreur :
    org.hibernate.MappingException: class Person not found while looking for property: persId

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Par défaut
    concernant l'erreur
    org.hibernate.MappingException: class Person not found while looking for property: persId
    Je pense avoir trouvé, persId étati un int au lieu de Integer dans ma classe Person.java.

    Par contre, j'ai toujours une erreur de mapping :
    Le mapping entre ma classe Person.java ne se fait pas correctement

    si mon fichier Person.hbm.xml indique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <hibernate-mapping>
     
    	<class name="Person" table="PERSON">
    j'ai l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Initial SessionFactory creation failed.org.hibernate.MappingException: entity class not found: Person
    et si Person.hbm.xml indique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <hibernate-mapping>
     
    	<class name="com.maboite.monprojet.persistence.hibernate.Person" table="PERSON">
    j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Initial SessionFactory creation failed.org.hibernate.MappingException: entity class not found: com.maboite.monprojet.persistence.hibernate.Person
    pour info, je rappelle mon organisation de fichier :

    +java/src/main
    --hibernate.cfg.xml
    --+com/maBoite/monprojet/persistence/
    ----HibernateUtil.java
    ----PersistenceDAOHibernate.java
    --+com/maBoite/monprojet/persistence/hibernate
    ----Person.java
    ----Person.hdm.xml

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/03/2013, 08h46
  2. Réponses: 0
    Dernier message: 13/10/2008, 17h39
  3. Réponses: 2
    Dernier message: 11/07/2003, 18h24
  4. Problème avec memory mapping
    Par gemai dans le forum C
    Réponses: 13
    Dernier message: 04/07/2003, 09h50
  5. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

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