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 :

Bonne maniere pour recuperer l entitymanager


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Décembre 2009
    Messages : 22
    Par défaut Bonne maniere pour recuperer l entitymanager
    Bonjour

    J'ai implemente la persistance dans mon application(desktop) avec toplink.
    J'ai eu beaucoup de mal a trouver des exemples sans ejb ou framework.
    Donc je viens vers vous savoir si la maniere dont je m'y suis prise est correcte ou a revoir tout particulierement sur ma class EMProvider et ma maniere de recuperer l entitymanager dans l' abstract dao.


    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
    29
    30
    31
    32
    33
    public class EMProvider {
     
        private static EntityManagerFactory emf = null;
     
        private static EntityManager em = null;
     
     
        private static String getDbUrl(){
             String dbName = Config.getProperty(ConfigConstants.KEY_DB_NAME);
             String dbPath = Config.getProperty(ConfigConstants.KEY_DB_DIR) + dbName; 
             return "jdbc:derby:" + dbPath;
        }
     
        public static EntityManagerFactory getEntityManagerFactory() {
     
            if( emf == null ) {
                Properties map = new Properties();
                map.put("toplink.jdbc.url", getDbUrl() );
                emf =  Persistence.createEntityManagerFactory("PU",map);
            }
           return emf;
        }
     
        public static EntityManager getEntityManager() {
     
            if( (em == null) || !em.isOpen() ){
                em = getEntityManagerFactory().createEntityManager();
                em.setFlushMode(FlushModeType.COMMIT);
            }
            return em;
        }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public abstract class Dao<K,E>
                implements IDao<K,E> {
     
        protected EntityManager em;
     
     
        public Dao() {
            em = EMProvider.getEntityManager();
        }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class ApplicationDAO 
            extends Dao<Integer, Application>{
     
        public List<Application> getAll() {
            return em.createQuery("select a from Application a").getResultList();
        }
    merci pour els reponses, conseils.

  2. #2
    Membre éclairé Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Par défaut
    oui c tout à fait juste ta manière de création de Entity manager et cette méthode utilise le design pattern Singleton qui assure instanciation de l'entity manager une seul fois.

Discussions similaires

  1. probleme pour recuperer le chemin du dossier courant
    Par HoB dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/08/2007, 12h22
  2. [SWING] Les bonnes manieres de coder les ihm ?
    Par 17mounir dans le forum Débuter
    Réponses: 4
    Dernier message: 21/07/2005, 16h23
  3. [plugin]bonne config pour projet j2ee
    Par pas05 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/04/2005, 11h19
  4. [MEA] bonne modelisation pour bdd carte pour les jeune
    Par madmortal dans le forum Schéma
    Réponses: 27
    Dernier message: 17/08/2004, 12h57

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