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 :

[Architecture] Couche accès aux données


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 258
    Points : 171
    Points
    171
    Par défaut [Architecture] Couche accès aux données
    Bonjour,

    Je développe une appli J2EE / Struts / Hibernate, je travail actuellement sur la partie Hibernate.
    J'entends pas mal de chose à droite et à gauche concernant le découpage en couches de la partie persistance.
    On me parle de 3 couches : Controller, Manager et Entité.
    Pour moi lorsque j'ai de la simple CRUD sur une table je pense qu'un manager et une entité suffisent ?

    Pourriez-vous me donner votre avis sur la question.

    Merci

  2. #2
    Membre habitué Avatar de nikalkal
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 231
    Points : 166
    Points
    166
    Par défaut
    Hibernate étant exclusiment utilisé pour la partie accès aux données en base, concretement tu as tes vues, tes controlleurs, ton code métier et hibernate qui est appelée par ce code métier pour l'accès en base.

    Pour bien séparer cette couche des autres il faut, pour moi, créer des interfaces implémentées aprés par hibernate ou autre utilitaire de mapping O/R.
    Ceci à l'avantage de pouvoir changer d'utilitaire de mapping O/R ou de base de données sans redéfinir toutes tes méthodes d'accés en base...

    Je sais pas si je suis bien clair mais tu peux aller faire un tour sur : http://www.developpez.net/forums/sho...d.php?t=136904
    où tu trouvera une implémentation de ce que je viens de te dire et un schéma plus parlant que des mots. (Dans cet exemple spring est utilisé en + pour gérer le mode transactionnel).

    Voila j'espère que ça répond à ta question, bon courage pour la suite @+

  3. #3
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Mon explication va ressembler à la précédente
    Admettons que tu aie une classe Personne, et une table personne associée.

    Ta couche Métier: Personne.java
    Ta couche DAO: PersonneHibernate.java

    C'est pas très propre. Si un jour tu veux passer à JDBC, ou Ibatis, ou... tu devra changer toutes tes classes.

    L'idéal:
    Ta couche Métier: Personne.java - IPersonneAccesDAO.java (c'est une <interface>)

    Ta couche DAO:
    PersonneHibernate.java (implémente IPersonneAccesDAO)
    tu pourras greffer d'autres plus tard comme
    PersonneJDBC.java (implémente IPersonneAccesDAO)

    et dans ta couche métier tu ne connais QUE IPersonneAccesDAO.java
    Toute cette machine est intégré par un framework tel que Spring qui va permettre de dire ("dans mon appli j'utilise Hibernate").

    Voila..

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 258
    Points : 171
    Points
    171
    Par défaut
    Merci de vos réponses, je vais regarder d'un peu plus près cela.
    Je vais également repgarder pour utiliser Spring.

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

Discussions similaires

  1. Réponses: 23
    Dernier message: 08/04/2014, 17h56
  2. Réponses: 0
    Dernier message: 18/11/2013, 20h49
  3. Réponses: 0
    Dernier message: 18/11/2013, 20h46
  4. Réponses: 4
    Dernier message: 17/02/2011, 21h41
  5. [Framework] [Architecture Technique] Accès aux données
    Par tatemilio2 dans le forum Spring
    Réponses: 12
    Dernier message: 15/11/2006, 10h20

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