Indication d'un héritage d'entité

Une entité peut hériter des propriétés d'autres entités. Vous pouvez indiquer une stratégie particulière à utiliser pour l'héritage.

Utilisez cette procédure pour indiquer l'héritage (@Inheritance) pour une entité existante (@Entity) :

  1. Sélectionnez l'entité dans l'explorateur de projets.

  2. Dans la vue Caractéristiques JPA, sélectionnez les informations d'Héritage.

    Indication de l'héritage

    Sélection de la zone Héritage dans la vue Caractéristiques JPA.
  3. Dans la liste Stratégie, sélectionnez une des stratégies d'héritage suivantes :

    • Une seule table (valeur par défaut)

    • Table jointe

    • Une table par classe

  4. Utilisez la table suivante pour remplir les zones restantes de l'onglet. Voir "Héritage des informations" pour plus de détails.

    Propriété Description Valeur par défaut
    Colonne de discriminateur Nom de la colonne de discriminateur lorsque l'on utilise une stratégie d'héritage unique ou jointe.

    Cette zone correspond à l'annotation @DiscriminatorColumn.


    Type de discriminateur Définissez le type de discriminateur sur Char ou Integer (au lieu de sa valeur par défaut : String). La valeur du discriminateur doit respecter ce type. Chaîne
    Valeur du discriminateur Indiquez la valeur du discriminateur utilisée pour différencier une entité dans cette hiérarchie d'héritage. La valeur doit respecter le type de discriminateur indiqué.

    Cette zone correspond à l'annotation @DiscriminatorValue.


    Ecraser la valeur par défaut Utilisez cette zone pour indiquer des colonnes jointes de clé primaire personnalisées.

    Cette zone correspond à l'annotation @PrimaryKeyJoinClumn.



Eclipse ajoute les annotations suivantes à la zone d'entité :

@Inheritance(strategy=InheritanceType.<INHERITANCE_STRATEGY>)
@DiscriminatorColumn(name="<DISCRIMINATOR_COLUMN>",
    discriminatorType=<DISCRIMINATOR_TYPE>)
@DiscriminatorValue(value-"<DISCRIMINATOR_VALUE>")
@PrimaryKeyJoinColumn(name="<JOIN_COLUMN_NAME>",
    referencedColumnName = "<REFERENCED_COLUMN_NAME>")

Les figures suivantes illustrent les différentes stratégies d'héritage.

Héritage de table unique

Cette figure illustre l'héritage d'entité dans une seule table.

Héritage de table jointe

Cette figure illustre une stratégie d'héritage de sous-classe jointe.

 

Tâche connexe

Ajout de la persistance à une classe

 

Concept connexe

Présentation de la persistance Java