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 :

Héritage et relation entre les classes filles


Sujet :

JPA Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Juillet 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Héritage et relation entre les classes filles
    bonjour ;
    j'ai deux entité qui hérite d'une autre, et j'ai une relation entre les deux classes filles. je veut générer la base a partir de JPA, il génére les tables mais les clés étrangère pointe vers la table mère.

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Quelle strategie d'heritage as tu implémentée? Peux ton voir les codes de tes classes?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Points : 53
    Points
    53
    Par défaut
    Juste pour voir si j'ai bien compris, JPA créé une association récursive au niveau de l'entité mère alors que tu demandes une association entre les deux entités filles ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 960
    Points : 4 389
    Points
    4 389
    Par défaut
    La foreign key référence toujours la table principale sous-jacente à l'entité cible dans la relation annotée par JPA.
    (en stratégie JOIN, cette table principale est la feuille de l'arbre ISA)

    Si vous avez donc :
    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
     
    @Entity
    @Inheritance(strategy = InheritanceType.THE_STRATEGY_YOU_CHOSE)
    class EntityMother {}
     
    @Entity 
    class EntityDaugther1 extends EntityMother {
    @OneToOne
    EntityDaugther2 hasSister ;
    …
    }
     
     
    @Entity
    class EntityDaugther2 extends EntityMother {}
    la FK qui sera générée pour exprimer la relation hasSister pointera vers la table générée pour EntityDaugther2, cette table ne sera la même que celle de l'entité Mother que si la stratégie d'inhéritance choisie est SINGLE_TABLE.

    MAIS si vous avez écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    @Entity 
    class EntityDaugther1 extends EntityMother {
    @OneToOne
    Mother hasSister ;
    …
    }
    parce que hasSister peut aussi bien être une EntityDaugther2 qu'une EntityDaugther2, alors évidemment la FK sera sur la table sous-jacente à l'entité Mother.

    Notez que ce dernier cas ne peut fonctionner en TABLE_PER_CLASS : dans le modèle relationnel, les FK ne sont pas polymorphes : la contrainte FK ne sera tout simplement pas générée.

Discussions similaires

  1. Héritage et relation entre les tables en J2EE
    Par guns65 dans le forum Java EE
    Réponses: 0
    Dernier message: 26/05/2013, 19h04
  2. Relations entre les classes
    Par Sana Boukari dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 11/10/2012, 02h46
  3. Programmation orientée objet et relation entre les classes.
    Par takinelinfo dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 28/05/2011, 13h09
  4. conversion entre les classes et héritage.
    Par deubelte dans le forum C++
    Réponses: 14
    Dernier message: 01/05/2010, 20h53
  5. Réponses: 6
    Dernier message: 15/04/2010, 11h22

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