IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Implémentation d'un dao ?


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 86
    Par défaut Implémentation d'un dao ?
    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.

  2. #2
    Membre émérite Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Par défaut
    Cet article à l'air bien, ils font l'injection avec JEE bref que ce code ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @PersistenceContext
    protected EntityManager entityManager;
    ou celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @EJB(name="orderDao")
    private OrderDao orderDao;
    Peut-être, je dis bien peut-être, que tout ceci ne marche (l'article) parce que tu utilises eclipselink, JPA est inclue dans JEE donc dans glassfish. Peut-être que le mixe l'injection d'EJB + JPA par eclipselink ne fonctionne pas, mais bon ça serait bizarre.

  3. #3
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    Dans l'ensemble je pense que pour utiliser la 3ième méthode il faut utiliser CDI pour faire la DAO.donc ajouter le fichier beans.xml

Discussions similaires

  1. [Data] Implémenter un DAO JDBC
    Par afrikha dans le forum Spring
    Réponses: 4
    Dernier message: 19/06/2012, 17h50
  2. DAO en interface et implémentation
    Par daydream123 dans le forum Persistance des données
    Réponses: 2
    Dernier message: 07/03/2012, 13h13
  3. Design Pattern : question implémentation DAO
    Par kuckinsin dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2010, 14h18
  4. Implémentation DAO MVC
    Par Hanoni dans le forum Général Java
    Réponses: 4
    Dernier message: 21/09/2009, 08h46
  5. [EJB3] implémenter EJB3 et DAO
    Par toomsounet dans le forum Java EE
    Réponses: 4
    Dernier message: 14/05/2007, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo