Bonjour,
Désolé pour le titre pas clair, mais je ne voyais pas comment résumer le truc.
Je connais le SE mais pas le EE, et je suis sur un projet d'appli EJB/JPA. Donc je découvre tout ça, dans l'ordre, JPA d'abord, et EJB après.
Pour faire les actions de type CRUD, sans connaitre les EJB, je me suis fait des fonctions statiques paramétrées du style :
Du coup, il suffit d'appeller CrudUtils.create(elt); et ça marche.
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 public static <T> T create(T elt) { EntityManager em = PersistenceManager.getEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { em.persist(elt); tx.commit(); } catch (Exception e) { e.printStackTrace(); if (tx != null) { tx.rollback(); } } return elt; }
Aujourd'hui, je suis tombé sur l'article d'un blog qui faisait plus ou moins la même chose, mais en parametrant la classe, et en indiquant qu'il fallait étendre cette classe pour chaque DAO.
Sachant que je ne connais pas du tout les EJB, est ce que qqun pourrait me dire si la méthode par héritage est la seule correcte, et m'expliquer un peu pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Stateless public class CRUDBean<T> implements CRUDLocal<T> { @PersistenceContext EntityManager em; public T add(T entity) { em.persist(entity); return entity; } ... }
Merci d'avance
Partager