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 :

[Débutante] Erreur: java.lang.ExceptionInInitializerError


Sujet :

Hibernate Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut [Débutante] Erreur: java.lang.ExceptionInInitializerError
    Bonjour,
    j'essaye de réaliser un helloworld avec eclipse, hibernate 3.2, et mysql.
    J'ai une erreur que j'arrive pas à résoudre. la voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Exception in thread "main" java.lang.ExceptionInInitializerError
    	at com.hello.HibernateUtil.<clinit>(HibernateUtil.java:17)
    	at com.hello.HelloWorld.main(HelloWorld.java:13)
    Caused by: org.hibernate.MappingNotFoundException: resource: com.hello/Messages.hbm.xml not found
    	at org.hibernate.cfg.Configuration.addResource(Configuration.java:517)
    	at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1511)
    	at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1479)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1458)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1432)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1352)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:1338)
    	at com.hello.HibernateUtil.<clinit>(HibernateUtil.java:15)
    	... 1 more
    J'ai cette erreur alors que mon fichier Messages.hbm.xml est dans le dossier sources

    code de HibernateUtil:
    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
    package com.hello;
     
    import org.hibernate.*;
    import org.hibernate.cfg.*;
     
    /**
     * Startup Hibernate and provide access to the singleton SessionFactory
     */
    public class HibernateUtil {
     
      private static SessionFactory sessionFactory;
     
      static {
        try {
           sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
           throw new ExceptionInInitializerError(ex);
        }
      }
     
      public static SessionFactory getSessionFactory() {
          // Alternatively, we could look up in JNDI here
          return sessionFactory;
      }
     
      public static void shutdown() {
          // Close caches and connection pools
          getSessionFactory().close();
      }
    }
    code de HelloWorld:
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    package com.hello;
     
    import org.hibernate.*;
    import java.util.*;
     
    public class HelloWorld {
     
        public static void main(String[] args) {
     
            // ############################################################################
     
            // First unit of work
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction tx = session.beginTransaction();
     
            Message message = new Message("Hello World");
            session.save(message);
     
            tx.commit();
            session.close();
     
            // ############################################################################
     
            // Second unit of work
            Session secondSession = HibernateUtil.getSessionFactory().openSession();
            Transaction secondTransaction = secondSession.beginTransaction();
     
            List messages =
                secondSession.createQuery("from Message m order by m.text asc").list();
     
            System.out.println( messages.size() + " message(s) found:" );
     
            for ( Iterator iter = messages.iterator(); iter.hasNext(); ) {
                Message loadedMsg = (Message) iter.next();
                System.out.println( loadedMsg.getText() );
            }
     
            secondTransaction.commit();
            secondSession.close();
     
            // ############################################################################
     
            // Third unit of work
            Session thirdSession = HibernateUtil.getSessionFactory().openSession();
            Transaction thirdTransaction = thirdSession.beginTransaction();
     
            // message.getId() holds the identifier value of the first message
            Message loadedMessage = (Message) thirdSession.get( Message.class, message.getId());
            loadedMessage.setText( "Greetings Earthling" );
            loadedMessage.setNextMessage(
                new Message( "Take me to your leader (please)" )
            );
     
            thirdTransaction.commit();
            thirdSession.close();
     
            // ############################################################################
     
            // Final unit of work (just repeat the query)
            // TODO: You can move this query into the thirdSession before the commit, makes more sense!
            Session fourthSession = HibernateUtil.getSessionFactory().openSession();
            Transaction fourthTransaction = fourthSession.beginTransaction();
     
            messages =
                fourthSession.createQuery("from Message m order by m.text asc").list();
     
            System.out.println( messages.size() + " message(s) found:" );
     
            for ( Iterator iter = messages.iterator(); iter.hasNext(); ) {
                Message loadedMsg = (Message) iter.next();
                System.out.println( loadedMsg.getText() );
            }
     
            fourthTransaction.commit();
            fourthSession.close();
     
     
            // Shutting down the application
            HibernateUtil.shutdown();
        }
    }
    Est ce que quelqu'un a une idée.
    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Caused by: org.hibernate.MappingNotFoundException: resource: com.hello/Messages.hbm.xml not found
    le fichier Messages.hbm.xml n'a pas été trouvé

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Oui je sais mais je ne sais pas pourquoi?

  4. #4
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    afin de pouvoir lier les objets Java aux éléments de la base de donnée, Hibernate à besoin de fichiers de mapping (les fichiers hbm.xml). ceux-ci doivent en principe se trouver dans le même répertoire que la classe.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Ben oui, c'est ça.
    C'est ce que j'ai fait mais ça ne marche pas.

  6. #6
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    tu peux trouver des réponses ici

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut
    Tu as bien mis le chemin de ton fichier de mapping dans ton fichier hibernate.cfg.xml ?

    Du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mapping resource="Messages.hbm.xml"/>

  8. #8
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com.hello/Messages.hbm.xml not found
    met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com/hello/Messages.hbm.xml not found

Discussions similaires

  1. [Débutant] Erreur "java.lang.NullPointerException"
    Par cherche_java dans le forum Débuter avec Java
    Réponses: 12
    Dernier message: 29/01/2015, 15h44
  2. Erreur "java.lang.ExceptionInInitializerError"
    Par rahma.tun dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 12/06/2012, 14h30
  3. [Débutant] Erreur java.lang.NullPointerException
    Par Kevin12 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/02/2007, 15h48
  4. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19
  5. Eclipse erreur : java.lang.OutOfMemoryError: Java heap space
    Par sderecourt dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/04/2006, 11h28

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