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

Développement Web en Java Discussion :

Hibernate - Modéliser une classe d'association - Clés étrangères avec des attributs


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut Hibernate - Modéliser une classe d'association - Clés étrangères avec des attributs
    Bonjour à tous,

    Je fais appel à la communauté afin de m'aider à résoudre mon problème.

    Via les annotations JPA, je ne parviens pas à modéliser une classe d'association regroupant donc deux clés étrangères et un attribut.

    Mon cas est représenté ci dessous :

    Nom : cas.PNG
Affichages : 540
Taille : 9,9 Ko

    Modéliser ces relations sans l'attribut nombre ne me pose pas de problème.

    Mais dans le cas contraire, je suis perdu...

    Toutes les relations sont des ManyToMany.

    Est ce que je dois mapper les classes d'associations ( TABLE_A_TABLE_B et TABLE_B_TABLE_C ) ?
    Comment je gère l'attribut nombre ?
    Quelles sont les annotations JPA que je dois utiliser ?
    ...


    Merci pour votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Par défaut
    Bonjour,
    j'avais un cas similaire et après avoir bien cherché je n'avais pas trouvé d'autre moyen que de mapper également les classes d'associations et donc transformer les ManyToMany en OneToMany/OneToMany.
    L'attribut nombre se retrouvera ainsi dans ta classe mappant l'association.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il est normal de devoir mapper les tables d'associations porteuses puisque justement elles contiennent des informations liées à l'association, comment pourrait-on faire autrement ?
    Les @ManyToMany ne concernent que les tables d'association ID source, ID cible.

    Donc, oui, il faut passer par @OneToMany via les entity représentant les tables d'association (dans ton exemple TABLE_A_TABLE_B et TABLE_B_TABLE_C)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut
    Merci pour vos réponses

    2 liens qui peuvent aider :

    les-cles-primaires-composees-avec-hibernate-4

    many-to-many-with-extra-column

    La question que je me pose maintenant, c'est comment récupérer proprement tous les objets TableB associés à un objet TableA par exemple ?

    Je peux récupérer les objets TableATableB si idTableA de la classe TableA est égal à idTableA de la classe TableATableB.

    Ma liste d'objets contient les idTableB liés à mon idTableA.

    Avec ces idTableB de la classe TableATableB je peux maintenant récupérer les objets TableB associés à mon objet TableA.

    Ça fait beaucoup d'opérations ? La démarche est bonne ou je me trompe ?

    Merci

Discussions similaires

  1. Mapper une association many to many avec des attributs
    Par deli_devellopez dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 10/05/2013, 21h25
  2. cle primaire pour une classe d'association
    Par ychaabani dans le forum PL/SQL
    Réponses: 2
    Dernier message: 12/03/2010, 09h45
  3. Modélisation UML d'une classe d'association
    Par *alexandre* dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 24/04/2009, 21h55
  4. [Hibernate] Mapper une classe association
    Par mauvais_karma dans le forum Hibernate
    Réponses: 16
    Dernier message: 25/01/2006, 12h34
  5. [Hibernate] remplir une classes association
    Par mauvais_karma dans le forum Hibernate
    Réponses: 13
    Dernier message: 31/08/2005, 16h38

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