158 votes

Aucun fournisseur de persistance pour EntityManager nommé

J'ai mon persistence.xml avec le même nom, à l'aide de toplink, sous le répertoire META-INF. Ensuite, j'ai mon code appelant avec...

EntityManagerFactory emfdb = Persistence.createEntityManagerFactory("agisdb");

Pourtant, j'ai eu le message d'erreur suivant

2009-07-21 09:22:41,018 [principal] ERREUR - Pas de fournisseur de Persistance pour l'EntityManager nommé agisdb
javax.la persistance.PersistenceException: Pas de fournisseur de Persistance pour l'EntityManager nommé agisdb
 au javax.la persistance.La persistance.createEntityManagerFactory(Persistance.java:89)
 au javax.la persistance.La persistance.createEntityManagerFactory(Persistance.java:60)

Ici, c'est le persistence.xml...

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="agisdb">
        <class>com.agis.livedb.domain.AddressEntity</class>
        <class>com.agis.livedb.domain.TrafficCameraEntity</class>
        <class>com.agis.livedb.domain.TrafficPhotoEntity</class>
        <class>com.agis.livedb.domain.TrafficReportEntity</class>
        <properties>
            <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/agisdb"/>
            <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="toplink.jdbc.user" value="root"/>
            <property name="toplink.jdbc.password" value="password"/>
        </properties>
    </persistence-unit>
</persistence>

Il doit avoir été dans le classpath... Pourtant, j'ai l'erreur ci-dessus... Vraiment reconnaissant de toute aide... Merci

88voto

Ualter Jr. Points 501

Mettre la « mise en veille prolongée-entitymanager.jar » dans le classpath de l’application.

Si vous exécutez à travers certains IDE, comme Eclipse : Project Properties-> Java Build Path-> bibliothèques.

Dans le cas contraire, mettez-le dans le/lib de votre application.

66voto

user225932 Points 381

Assurez-vous que le fichier persistence.xml se trouve dans le répertoire : /WEB-INF/classes/META-INF

17voto

technocrat Points 780

J’avais besoin de cela dans mon fichier pom.xml :

10voto

col.panic Points 865

Il y a un autre point : Si vous rencontrez ce problème dans un environnement Eclipse RCP, vous devrez peut-être modifier la génération de l’usine de Persistence.createEntityManagerFactory à nouveau PersistenceProvider () .createEntityManagerFactory

Voir ECF pour une discussion détaillée là-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X