exceptions au niveaux du main
bonsoir les amis(es) je suis entrain de faire un simple programe jpa avec une seule classe qui contient id , nom ,prenom, specialité avec des tests de l'ajout suppression et modification
et j'ai eu deux exception au niveau du main1.java
Code:
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| package tests;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import entities.Medecin;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@SuppressWarnings("unused")
public class main1 {
private final static String TABLE_NAME = "Medecin";
private EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
private static EntityManager em = null;
public static void main(String[] args)throws ParseException {
main1 m=new main1();
m.log("ajouter");
m.ajouter();
//supprimer
m.log("supprimer");
m.supprimer();
//modifier
m.log("modifier");
m.modifier();
// fin contexte de persistance
if (em.isOpen())
em.close();
// fermeture EntityManagerFactory
m.emf.close();
}
private void modifier() {
// TODO Auto-generated method stub
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("jpa");
EntityManager em = emf.createEntityManager();
EntityTransaction transac = em.getTransaction();
EntityManagerFactory emf1 = Persistence
.createEntityManagerFactory("jpa");
EntityManager em1 = emf1.createEntityManager();
EntityTransaction transac1 = em1.getTransaction();
transac1.begin();
Medecin personne = em1.find(Medecin.class, 4);
if (personne == null) {
System.out.println("Personne non trouvée");
} else {
em1.remove(personne);
}
transac1.commit();
em1.close();
emf1.close();
transac1.begin();
Query query = em1.createQuery("select p from Medecin p where p.nom='nom2'");
Medecin Medecin = (Medecin) query.getSingleResult();
if (Medecin == null) {
System.out.println("Personne non trouvée");
} else {
System.out.println("Medecin.prenom=" + Medecin.getPrenom());
Medecin.setPrenom("prenom2 modifie");
em1.flush();
Medecin = (Medecin) query.getSingleResult();
System.out.println("Medecin.prenom=" + Medecin.getPrenom());
}
transac1.commit();
em1.close();
emf1.close();
}
private void supprimer() {
// TODO Auto-generated method stub
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("jpa");
EntityManager em = emf.createEntityManager();
EntityTransaction transac = em.getTransaction();
transac.begin();
Medecin Medecin = em.find(Medecin.class, 4);
if (Medecin == null) {
System.out.println("Medecin non trouvée");
} else {
em.remove(Medecin);
}
transac.commit();
em.close();
emf.close();
}
private void ajouter() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
EntityManager em = emf.createEntityManager();
EntityTransaction transac = em.getTransaction();
transac.begin();
Medecin nouveauMedecin = new Medecin();
nouveauMedecin.setId(4);
nouveauMedecin.setNom("nom4");
nouveauMedecin.setPrenom("prenom4");
nouveauMedecin.setSpecialite("specialite4");
em.persist(nouveauMedecin);
transac.commit();
em.close();
emf.close();
}
private void log(String message) {
// TODO Auto-generated method stub
System.out.println("main : ----------- " + message);
}
} |
et voila les exceptions:
Citation:
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa
at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at tests.main1.<init>(main1.java:15)
at tests.main1.main(main1.java:18)
j'aimerais bien de trouver une solution :d merci