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 :

Erreur "No Persistence provider for EntityManager"


Sujet :

JPA Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut Erreur "No Persistence provider for EntityManager"
    Bonjour,

    J'ai créé un projet J2EE basique, avec un aspect persistance via un objet EntityManager, et j'obtiens l'erreur "No Persistence provider for EntityManager named x" dès que j'accède à une page qui le sollicite.
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Dans une classe ClientDao
    	@PersistenceContext(unitName="myPU")
    	EntityManager em;
     
    	public ClientDao() {
    		EntityManagerFactory factory = Persistence.createEntityManagerFactory("myPU");
    		em = factory.createEntityManager();
    //		em = Persistence.createEntityManagerFactory("myPU").createEntityManager();    // j'ai essayé les deux
    	}
    Mon fichier persistence.xml (qui se trouve dans WebContent/META-INF) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
     
    	<persistence-unit name="myPU" transaction-type="RESOURCE_LOCAL">
    		<provider>org.hibernate.ejb.HibernatePersistence</provider>
    		<properties>
    			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
    			<property name="javax.persistence.jdbc.user" value="root" />
    			<property name="javax.persistence.jdbc.password" value="root" />
    			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ma_bdd" />
    			<!-- <property name="hibernate.hbm2ddl.auto" value="update" />  -->
    		</properties>
    	</persistence-unit>
    </persistence>
    Pourquoi cette erreur ?

    Merci d'avance pour vos lumières !

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Points : 97
    Points
    97
    Par défaut
    Je m'en suis sorti en corrigeant mes annotations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	@PersistenceContext(unitName="myPU")
    	EntityManager em;
     
    	@PersistenceUnit(unitName="myPU")
    	EntityManagerFactory emf;
     
    	public ClientDao() {
    		emf = Persistence.createEntityManagerFactory("myPU");
    		em = emf.createEntityManager();
    	}
    Par contre, maintenant j'ai l'erreur "Hibernate Dialect must be explicitly set"

    J'ai tenté de rajouter la ligne suivante à mon persistence.xml mais rien n'y fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
    Pourquoi cette nouvelle erreur ?

  3. #3
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut ,
    avec transaction-type="RESOURCE_LOCAL",
    tu n´as pas besoin de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @PersistenceContext(unitName="myPU")
    EntityManager em;
     
    @PersistenceUnit(unitName="myPU")
    EntityManagerFactory emf;
    fais tout simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    EntityManagerFactory emf;
    EntityManager em;
    emf = Persistence.createEntityManagerFactory("myPU");
    em = emf.createEntityManager();
    essaies voir et tu nous dis ce est affiché comme erreur?

    Eric

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2014, 14h14
  2. Réponses: 3
    Dernier message: 26/02/2014, 17h07
  3. Réponses: 1
    Dernier message: 16/05/2012, 12h55
  4. Réponses: 5
    Dernier message: 24/05/2011, 10h27
  5. No Persistence provider for EntityManager
    Par DrumCode dans le forum JPA
    Réponses: 6
    Dernier message: 12/08/2008, 19h59

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