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

Hibernate Java Discussion :

DAO Hibernate Spring


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut DAO Hibernate Spring
    Bonjour à tous,

    je suis entrain de mettre en place un petit projet J2EE (JSF/Richfaces/Hibernate) pour m'entrainer un peu !

    J'aurai une petite question sur la couche DAO.

    Voici mes codes

    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
     
    public abstract class AbstractDAOFactory {
     
    	public abstract DAO<Object> getCrudDAOHibernate();
     
    	public abstract DAO<Object> getCompanyDAO();
     
    	public abstract DAO<Object> getPersonDAO();
     
     
    	/**
             * Méthode permettant de récupérer une factory de DAO
             * @param type
             * @return AbstractDAOFactory
             */
    	public static AbstractDAOFactory getFactory(FactoryType type){
     
    		if(type.equals(FactoryType.DAO_FACTORY)){
    			return new DAOFactory();
    		}
     
    		if(type.equals(FactoryType.XML_DAO_FACTORY)){
    			//return new XMLDAOFactory();
    		}
     
    		return null;
    	}
    }
    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
     
    public class DAOFactory extends AbstractDAOFactory{
     
    	@Override
    	public DAO<Object> getCrudDAOHibernate() {
    		return new CrudDAOHibernate();
    	}
     
    	@Override
    	public DAO<Object> getCompanyDAO() {
    		return new CompanyDAOImpl();
    	}
     
    	@Override
    	public DAO<Object> getPersonDAO() {
    		return new PersonDAOImpl();
    	}
     
     
    }
    Ensuite dans la couche métier, j'utilise ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PersonDAO persDAO = (PersonDAO) AbstractDAOFactory.getFactory(FactoryType.DAO_FACTORY).getPersonDAO(
    );
     
    public void embaucher(Person p) {
       persDAO.create(p)
    }
    ....
    Or ce que j'aime pas dans tout ça, c'est qu'on sait le type d'implémentation qu'on va utiliser, c'est DAO_FACTORY, ça aurait pu etre XML_FACTORY.

    Aurais-vous une idée de la manière dont je dois m'y prendre pour cacher le type de l'implémentation dans la couche métier...... (Spring par ex ?)

    merci!!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Si le type de factory est défini une fois pour toute dans le paramétrage de l'application, alors oui, tu pourrais utiliser Spring pour injecter la valeur (ou une variable d'environnement, ou un fichier properties, etc...).
    Si par contre durant l'exécution le type peu changer, il faudra bien le passer en argument.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    oui, il est défini une fois pour toute,
    ok merci, je vais essayer de le mettre en place

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    c parfait, ça marche parfaitement ! merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Data] Spring DAO Hibernate
    Par Miko95 dans le forum Spring
    Réponses: 0
    Dernier message: 04/09/2011, 18h26
  2. Réponses: 1
    Dernier message: 15/05/2008, 10h11
  3. [Data] CRUD Dao with spring+hibernate
    Par iMacXus dans le forum Spring
    Réponses: 3
    Dernier message: 02/05/2007, 14h13
  4. Comparatif Spring DAO/Hibernate
    Par joseph_p dans le forum JDBC
    Réponses: 3
    Dernier message: 23/02/2007, 14h29
  5. [Hibernate][Spring] Session Hibernate initialisée
    Par mauvais_karma dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/08/2005, 13h07

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