Bonjour.
Imaginons la situation suivante : java ee 6 - glassfish 3.1 - jpa (eclipselink).
Un simple ejb avec l'annotation stateless et une injection pour récupérer l'entity manager. Jusque là tout fonctionne. Je peux faire un em.persist(...).
Maintenant, je veux extraire de mon ejb tout le code qui concerne jpa. Par exemple pouvoir utiliser jpadao.addStudent(...).
Et je ne sais pas trop comment faire.
Je suis parti avec une interface dao et une classe jpadao qui implémente cette interface avec la méthode addStudent. Le problème est de récupérer l'entity manager.
Première solution envisagée : passer l'entity manager à jpadao --- new jpadao(em). ça marche mais est-ce une bonne méthode ?
Deuxième solution : ajouter @stateless sur jpadao, faire l'injection dans cet ejb et faire une injection de l'ejb dans mon ejb de base. Même topo, ça marche mais ...
Troisième solution : je suis tombé sur cet article
Mais impossible de mettre ça en oeuvre. L'injection ne se fait pas dans jpadao et je ne comprends pas pourquoi il utilise une injection d'ejb ?
Donc quelle est la meilleure solution ? Comment faire en sorte que la 3ème fonctionne ?
Merci.
Partager