create EntityManager Factory
Bonjour; j'ai un souci et je sollicite votre aide. J'ai une petite application contenat une calsse JavaPersistenceUtil
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JavaPersistenceUtil {
private static EntityManagerFactory emf;
static {
emf = Persistence.createEntityManagerFactory("jpa");
}
public static EntityManagerFactory getEmf() {
return emf;
}
} |
et une classe test1
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
|
public class Test1 {
private static EntityManager em = null;
public static void main(String[] args) throws Exception{
// Affichage des données
dump();
// test1
log("test1");
test1();
// dump
dump();
// fin contexte de persistance
if (em.isOpen())
em.close();
}
private static EntityManager getEntityManager() {
if (em == null || !em.isOpen()) {
em = JavaPersistenceUtil.getEmf().createEntityManager();
}
return em;
}
public static void test1() throws ParseException {
// contexte de persistance
EntityManager em = getEntityManager();
// création personnes
a1 = new Activite( 0,"Activité 4");
a2 = new Activite(0,"Activité 5");
// début transaction
EntityTransaction tx = em.getTransaction();
tx.begin();
// persistance des personnes
em.persist(a1);
em.persist(a2);
// fin transaction
tx.commit();
// on affiche la table
dump();
} |
Mon problème est que chaque fois que j'execute Test1 il vide la base avant de faire des insertions.
Après recheche je me suis rendu compte que c'est lors de l'execution de
Code:
1 2
|
em = JavaPersistenceUtil.getEmf().createEntityManager(); |
c'est à dire
Code:
1 2
|
emf = Persistence.createEntityManagerFactory("jpa"); |
Apparemment il execute cette tâche chaque fois qu'il est lancé. Comment faire pour ne plus qu'il l'execute car il est dit que l'application doit executer cette instruction une seule dans sa vie ou comment faire pour ne plus que la base soit vider en executant cette instruction
Merci