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

JPA Java Discussion :

Java SE + JPA : No Persistence provider for EntityManager


Sujet :

JPA Java

  1. #1
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut Java SE + JPA : No Persistence provider for EntityManager
    Salut à tous,

    Alors voilà je suis un peut ennuyé avec une application Java SE pour laquelle je voudrais utiliser JPA pour la persistance.
    Je suis d'autant plus ennuyé que la question a déjà été posée sur ce forum mais sans que cela puisse m'aider.

    Le problème est le suivant quand j'exécute le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("TophosPU");
            EntityManager em = entityManagerFactory.createEntityManager();
     
            Query q = em.createQuery("SELECT p FROM Photo p ORDER BY p.id");
            System.out.println(q.getResultList());
     
            em.close();
            entityManagerFactory.close();
    ... j'obtiens l'exception suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named TophosPU:  The following providers:
    oracle.toplink.essentials.PersistenceProvider
    oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
    Returned null to createEntityManagerFactory.
     
            at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154)
            at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
            at tophos.main.Main.main(Main.java:23)
    Java Result: 1
    Et pourtant... tout me semble ok :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" 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">
      <persistence-unit name="TophosPU" transaction-type="RESOURCE_LOCAL">
        <provider>oracle.toplink.essentials.PersistenceProvider</provider>
        <class>tophos.persistence.Photo</class>
        <class>tophos.persistence.Tag</class>
        <class>tophos.persistence.Author</class>
        <class>tophos.persistence.Folder</class>
        <class>tophos.persistence.Medium</class>
        <properties>
          <property name="toplink.jdbc.user" value="tophos"/>
          <property name="toplink.jdbc.password" value="xyz"/>
          <property name="toplink.jdbc.url" value="jdbc:postgresql://192.168.0.1:5432/tophos"/>
          <property name="toplink.jdbc.driver" value="org.postgresql.Driver"/>
        </properties>
      </persistence-unit>
    </persistence>
    J'ai comparé les différents fichiers (persistence.xml, classes entitées, etc.) avec un projet de test qui marche très bien dans le même environnement mais je n'ai rien trouvé qui justifie que ça ne marche pas. J'ai les mêmes bibliothèques installées, la connexion à la BDD fonctionne, les classes entités on été générées automatiquement avec Netbeans depuis la BDD (tout comme la config de l'unité de persistance).

    En fait je cherche une âme charitable pour m'aider à débusquer ma boulette.

    Pour info :
    - Le projet qui me pose pb : ZIP
    - Un projet de test qui marche pour comparer : ZIP
    - J'utilise Netbeans 6.0

    Merci beaucoup par avance !

    Ludo.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Points : 191
    Points
    191
    Par défaut
    Es tu sur d'integrer le jar de toplink et de ton driver jdbc dans ton classpath ?

  3. #3
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut
    Ben oui... J'ai fait un test sans et ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Persistence
            at tophos.main.Main.main(Main.java:23)
    ... ce qui me parait logique.

    Je vais essayer de repartir d'un projet tout neuf pour voir.

  4. #4
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut
    Pas mieux en repartant de 0...

    Une idée ?

  5. #5
    Membre habitué Avatar de ludosoft
    Homme Profil pro
    Chef de projet technique
    Inscrit en
    Juillet 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2002
    Messages : 99
    Points : 136
    Points
    136
    Par défaut
    Bon j'ai trouvé !

    En fait c'est tout simple : le chemin d'accès vers le dossier de mon projet (C:\[Prog]\Java\Tophos) ne convient pas. Quand je le déplace ailleurs, genre "C:\Tophos" et bien ça marche. En fait le problème viens des crochets autour de "Prog"...

    Se prendre la tête pendant 2 jours juste pour ça, y'a de quoi devenir méchant ...

    Merci quand même à ceux qui auront essayé de m'aider ! Et si d'aventure quelqu'un sait pourquoi les crochets posent problème, je suis preneur !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    moi aussi j'ai le même problème, je voudrais savoir où t'as changé le chemin j'ai pas trop bien compris ta réponse
    et pour le persistence provider je c'est pas quoi mettre
    j'utilise netbean 6.9.1
    voila mon fichier persistence.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0" 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_2_0.xsd">
      <persistence-unit name="ready" transaction-type="JTA">
        <jta-data-source>ready</jta-data-source>
        <class>entity.produits</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties/>
      </persistence-unit>
    </persistence>

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2014, 15h14
  2. Réponses: 7
    Dernier message: 22/06/2010, 18h26
  3. Réponses: 4
    Dernier message: 12/04/2009, 20h53
  4. [Toplink] No Persistence provider for EntityManager
    Par seb974 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 21/03/2009, 21h02
  5. No Persistence provider for EntityManager
    Par DrumCode dans le forum JPA
    Réponses: 6
    Dernier message: 12/08/2008, 20h59

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