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 Annotations 3.2.1


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut Hibernate Annotations 3.2.1
    J'essaie de faire fonctionner l'application HelloWorld du chapitre 2 de Hibernate in Action, dans Eclipse 3.2.1. L'application fonctionne avec les fichiers de mapping hbm et cfg. Mais avec les Annotations et persitence.xml, j'obtiens l’erreur suivante à l’éxécution:

    Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named helloworld
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
    at hello.HelloWorld.main(HelloWorld.java:11)

    Merci, et bon temps des fêtes

  2. #2
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Si tu nous montrais ton fichier persistence.xml.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut Hibernate Annotations 3.2.1
    Merci pour votre participation. Voici le fichier persistence.xml

    Code xml : 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
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
       version="1.0">
     
       <persistence-unit name="helloworld">
     
           <!-- The provider only needs to be set if you use several JPA providers
           <provider>org.hibernate.ejb.HibernatePersistence</provider>
            -->
           <!-- This is required to be spec compliant, Hibernate however supports
                auto-detection even in JSE.
           <class>hello.Message</class>
           -->
     
     
          <properties>
              <!-- Scan for annotated classes and Hibernate mapping XML files -->
              <property name="hibernate.archive.autodetection" value="class, hbm"/>
     
              <!-- SQL stdout logging -->
              <property name="hibernate.show_sql" value="true"/>
              <property name="hibernate.format_sql" value="true"/>
              <property name="use_sql_comments" value="true"/>
     
     
              <property name="hibernate.connection.driver_class"
                        value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
              <property name="hibernate.connection.url"
                        value="jdbc:microsoft:sqlserver://mimoza:1433"/>
              <property name="hibernate.connection.username"
                        value="user1"/>
              <property name="hibernate.connection.password"
    					value="password"/>
     
              <property name="hibernate.c3p0.min_size"
                        value="5"/>
              <property name="hibernate.c3p0.max_size"
                        value="20"/>
              <property name="hibernate.c3p0.timeout"
                        value="300"/>
              <property name="hibernate.c3p0.max_statements"
                        value="50"/>
              <property name="hibernate.c3p0.idle_test_period"
                        value="3000"/>
     
              <property name="hibernate.dialect"
                        value="org.hibernate.dialect.SQLServerDialect"/>
     
          </properties>
       </persistence-unit>
     
    </persistence>

  4. #4
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Si je vois bien, ton <provider> est en commentaire. C'est donc normal qu'il te dise qu'il ne trouve pas de provider.

    Vincent

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut
    Hello,

    Ce que j'ai cru comprendre c'est que ce provider n'était necessaire que si l'on utilisait plus d'un. Je l'ai activé et j'obtiens toujours le même message d'erreur.

    Je viens de faire un test en suprimant totalement le fichier persitence.xml. toujours le même message d'erreur.

    Le chapitre 2 Hibernate in Action travail avec Ant. Ce qui me laisse penser qu'il y a peut être une configuration qui me manque dans mon eclipse?

    Merci encore pour ces échanges.

    eljin

  6. #6
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    tu as également ce jar, j'espère: hibernate-entitymanager.jar
    C'est lui qui contient la classe HibernatePersistence.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut
    Merci de me suivre,
    Non je n'avais pas hibernate-entitymanager.jar dans mon build path. n'est-il pas utile seulement pour les EJB?

    Je viens de l'inclure et j'ai un nouveau message d'erreur:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/util/file/ArchiveBrowser$Filter
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:119)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
    at hello.HelloWorld.main(HelloWorld.java:11)

    eljin

  8. #8
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Lorsque tu as téléchargé le zip de Hibernate-entitymanager, tu dois normalement trouver dans le fichier pdf (situé dans le répertoire hibernate-entitymanager-3.2.1.GA/doc/reference/en/pdf du zip) le chapitre 2 concernant le setup. Tu peux y lire ceci:
    2.1. Setup
    The EJB 3.0 / JPA compatible Hibernate EntityManager is built on top of Hibernate core and Hibernate Annotations.
    You have to use compatible versions of each module. This version is known to work on Hibernate
    Core 3.2.0.CR5, 3.2.0.GA, 3.2.1.GA and Hibernate Annotations 3.2.0.CR3, 3.2.0.GA, 3.2.1.GA. The following
    libraries have to be in your classpath: hibernate3.jar, hibernate-annotations.jar, hibernate-entitymanager.jar and
    all needed third party libraries for each package.(incl. ejb-persistence.jar)
    .
    Ce qu'ils entendent par all needed third party libraries, c'est ce qui se trouve dans le répertoire lib du zip. D'ailleurs, dans ce répertoire tu trouves également un fichier nommé README.txt qui contient ce qui suit:
    Hibernate Metadata dependencies
    ===============================

    ejb3-persistence (final release): required
    hibernate-annotations: required
    javassist (3.3): required
    jboss-archive-browsing (5.0.0alpha build: CVSTag=HEAD date=200607201 119): required
    (C'est moi qui ai mis en évidence les mots required).

    Tous ces jars sont OBLIGATOIRES. L'erreur que tu as vient du fait que tu n'a pas rajouter le jboss-archive-browsing. Après tu auras certainement une autre erreur car le javassist est manquant. etc, etc. Bref, rajoute tous ces JARS dans ton classpath et tes erreurs devraient avoir disparu :-)

    Vincent

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut Hibernate Annotations 3.2.1
    Salut Vincent,

    Problème résolu. Effectivement les deux derniers jar étaient absents. Merci beaucoup. Je dois dire que j'ai mal lu le readme.txt. Mea culpa.

    Pour ton information, dans mon fichier hibernate-3.2\lib\_README.txt il n’y a aucune référence au jboss-archive-browsing. Parmi les 4 entrées jboss-xxx.jar qui s’y trouvent, j’ai choisi jboss-common.jar et cela a réglé le problème.

    Merci à toute la communauté developpez.com

    eljin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tomcat hibernate annotation DAO probleme mapping
    Par bibi73 dans le forum Hibernate
    Réponses: 20
    Dernier message: 20/08/2007, 14h40
  2. pb Mapping héritage hibernate annotations
    Par lilou13_13 dans le forum JPA
    Réponses: 1
    Dernier message: 08/07/2007, 22h12
  3. Hibernate Annotations documentation bancale ?
    Par cyrille37 dans le forum Hibernate
    Réponses: 3
    Dernier message: 25/07/2006, 18h53
  4. Réponses: 1
    Dernier message: 26/06/2006, 10h21
  5. [Hibernate Annotation] Mapper une classe abstraite
    Par DanZzz dans le forum Hibernate
    Réponses: 3
    Dernier message: 15/06/2006, 22h12

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