Bonjour à tous,
Le code suivant permet de créer le contexte de persistence (Entity manager) au sein des classes d'ordre DAO :
Quand j'exécute les deux méthodes create() et read() dans la même classe Exemple.java, ça génère des exceptions. Pourquoi ? Que faut-il faire pour pallier à ce problème ?
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
18
19
20
21
22
23
24 public boolean create(Event anEvent){ EntityManagerFactory factory = Persistence.createEntityManagerFactory("mdc1"); EntityManager manager = factory.createEntityManager(); EntityTransaction transaction = manager.getTransaction(); transaction.begin(); manager.persist(anEvent); transaction.commit(); manager.close(); factory.close(); return true; } public Event read(Integer id){ EntityManagerFactory factory = Persistence.createEntityManagerFactory("mdc1"); EntityManager manager = factory.createEntityManager(); EntityTransaction transaction = manager.getTransaction(); transaction.begin(); Event anEvent = manager.find(Event.class, id); transaction.commit(); manager.close(); factory.close(); return anEvent; }
J'ai trouvé qu'il faut utiliser une classe de type singleton qui se charge de la création de l'entityManager, mais je comprends pas pourquoi il faut faire ça ?
Quelqu'un peut m'expliquer SVP.
Merci.
Partager