Bonjour,
Simple question à laquelle je n'ai pas encore eu de réponse : si j'ai un EJB qui implémente une interface, elle-même étendant une autre interface, dois-je mettre @Local/@Remote sur toute la hiérarchie ou seulement sur l'interface directement implémentée par mon EJB ?
Un peu de code pour illustrer :
Est-ce juste ?
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
25
26
27
28 @Stateless public class AckDaoJpa extends GenericModelDaoJpa<Ack, Integer> implements AckDao { // Implémentation des méthodes spécifiques à ce DAO. } public abstract class GenericModelDaoJpa<T, PK extends Serializable> implements GenericDao<T, PK> { @PersistenceContext(unitName="myUnit") private EntityManager entityManager; // Implémentation générique des méthodes communes à tous les DAO's. } @Local public interface GenericDao<T, PK extends Serializable> { // Méthodes communes à tous mes DAO's : persist, delete, findAll, .... } @Local public interface AckDao extends GenericDao<Ack, Integer> { // Méthodes spécifiques à ce DAO. }
Note : cela peut paraître bizarre comme hiérarchie mais elle fonctionne parfaitement bien en dehors des EJB's - avec Spring et le support Hibernate par exemple.
Merci d'avance.
Partager