Entitätsübernahme angeben

Eine Entität kann Eigenschaften von anderen Entitäten übernehmen. Sie können eine bestimmte Strategie angeben, die für die Übernahme zu verwenden ist.

Verwenden Sie diese Prozedur, um die Übernahme (@Inheritance) für eine vorhandene Entität (@Entity) anzugeben:

  1. Wählen Sie die Entität im Projektexplorer aus.

  2. In der Ansicht JPA-Details wählen Sie die Information Übernahme aus.

    Übernahme angeben

    Auswahl des Bereichs 'Übernahme' in der Ansicht 'JPA-Details'.
  3. In der Liste Strategie wählen Sie eine der folgenden Übernahmestrategien aus:

    • Eine einzelne Tabelle (Standard)

    • Verknüpfte Tabelle

    • Eine Tabelle pro Klasse

  4. Verwenden Sie folgende Tabelle, um die verbleibenden Felder auf der Registerkarte zu vervollständigen. Weitere Informationen finden Sie im Abschnitt "Informationen über Übernahme".

    Eigenschaft Beschreibung Standard
    Diskriminatorspalte Name der Diskriminatorspalte, wenn die Übernahmestrategie Einzeln oder Gemeinsam verwendet wird.

    Dieses Feld entspricht der Anmerkung @DiscriminatorColumn.


    Diskriminatortyp Setzen Sie den Diskriminatortyp auf Char oder Integer (statt der Standardeinstellung: String). Der Diskriminatorwert muss diesem Typ entsprechen. String (Zeichenfolge)
    Diskriminatorwert Gibt den Diskriminatorwert an, der verwendet wird, um eine Entität in dieser Übernahmehierarchie zu unterscheiden. Der Wert muss dem angegebenen Diskriminatortyp entsprechen.

    Dieses Feld entspricht der Anmerkung @DiscriminatorValue.


    Standard überschreiben Verwenden Sie dieses Feld, um angepasste Primärschlüssel-Verknüpfungsspalten anzugeben.

    Dieses Feld entspricht der Anmerkung @PrimaryKeyJoinClumn.



Eclipse fügt dem Entitätsfeld die folgenden Anmerkungen hinzu:

@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>")

Die folgende Abbildung zeigt die verschiedenen Übernahmestrategien.

Übernahme in einzelne Tabelle

Diese Abbildung zeigt die Entitätsübernahme in einer einzelnen Tabelle.

Übernahme in gemeinsame Tabelle

Diese Abbildung zeigt die Übernahmestrategie einer verknüpften Unterklasse.

 

Zugehörige Task

Persistenz zu einer Klasse hinzufügen

 

Zugehöriges Konzept

Wissenswertes über Java Persistence