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 :
... j'obtiens l'exception suivante :
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();
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 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
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).
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>
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.
Partager