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 :

Couche Persistance et l'architecture de mon application


Sujet :

Hibernate Java

  1. #1
    Débutant  
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 346
    Points : 86
    Points
    86
    Par défaut Couche Persistance et l'architecture de mon application
    Bonjour,

    Je veux réaliser une application JAVA, SpringRest et Hibernate pour monter en compétence aux développements et voici les informations sur cet application :

    A la base de données j'ai la table "Utilisateur"

    Pour la partie backend:
    J'ai la couche DAO ou je créerai 2 classes : Utilisateur.java (entité), UtilisateurDAOImp.java : est ce que je peux utiliser l'annotation @Repository? Si oui c'est quoi son rôle ) et une interface UtilisateurDAO.java : est ce que cet interface peut hériter de CrubRepository comme SpringData?

    La couche Service qui communique avec DAO et Controller, je créerai : 1 classe UtilisateurImpMetier.java et 1 interface UtilisateurImpMetier.java
    La couche Controller contenant mon @RestController pour communiquer avec la partie Front que je vais la developper avec Angular

    Les trois que j'ai les décrit ci-dessus (couche DAO, Service, Controller) est ce qu'elles representent l'architecture de mon application ou bien sa structure? est ce que je dois ajouter des autres couches, classes?

    J'attends vos retours et merci d'avance.

  2. #2
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Points : 561
    Points
    561
    Par défaut


    Tu peux utiliser @Repository en annotation de ta classe UtilisateurDAOImp, c'est d'ailleurs son rôle.
    Cette annotation, en plus d'indiquer à Spring qu'une classe est injectable comme @Service et @Component (qu'il hérite), permet aussi à Spring de gérer des exceptions liées à l'accès en base.

    Si tu souhaite utiliser SpringData et donc CrudRepository, il ne faut pas créer de classe UtilisateurDAOImp mais mettre l'annotation @Repository sur UtilisateurDAO qui héritera de CrudRepository.

    [...] est ce qu'elles representent l'architecture de mon application ou bien sa structure?
    Les deux. En développement logiciel, ces deux termes sont synonymes (la différence entre les deux est trop subtile pour avoir un impact réel). Après on entend plus parler d'architecture que de structure, du coup, si ta question est en lien avec un rapport de stage ou quelque chose de similaire, privilégie l'utilisation de "architecture", ça fait plus "pro".

    est ce que je dois ajouter des autres couches, classes?
    Oui... et non.
    Sur mon projet actuel, on a une couche Traitement entre le Contrôleur et le Service. Étant donné qu'on a des règles de gestion assez lourdes, un appel de webservice peut faire appel à plusieurs entités distinctes et donc aux DAO et Services associés. Mais cela démontre surtout une mauvaise conception des webservices à la base (et aussi du modèle de données).
    Si tu te retrouve avec des règles de gestion assez lourde, il est préférable de les déporter sur les entités eux mêmes quand c'est possible (calcule de l'état d'avancement de l'objet, intégrités des données... etc).
    Merci d'ajouter un sur les tags qui vous ont aidé

Discussions similaires

  1. Architecture de mon application
    Par zecke dans le forum Android
    Réponses: 4
    Dernier message: 26/06/2015, 15h28
  2. Avis sur l'architecture de mon application Android
    Par lefranco dans le forum Android
    Réponses: 2
    Dernier message: 28/11/2013, 08h51
  3. Réponses: 0
    Dernier message: 20/08/2012, 15h41
  4. [1.x] Architecture de mon application
    Par Vince57 dans le forum Symfony
    Réponses: 3
    Dernier message: 25/08/2010, 23h40
  5. Conception de l'architecture de mon application ACCESS
    Par Jertho dans le forum Modélisation
    Réponses: 2
    Dernier message: 28/01/2009, 01h22

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