Określanie dziedziczenia encji

Encja może dziedziczyć właściwości z innych encji. Można określić konkretną strategię dziedziczenia.

Opisana procedura pozwala zdefiniować dziedziczenie (@Inheritance) dla istniejącej encji (@Entity):

  1. Wybierz obiekt w eksploratorze projektów.

  2. W widoku Szczegóły JPA wybierz sekcję z informacjami o dziedziczeniu.

    Określanie dziedziczenia

    Wybieranie sekcji Dziedziczenie w widoku Szczegóły JPA.
  3. Z listy Strategia wybierz jedną z następujących strategii dziedziczenia:

    • Pojedyncza tabela (wartość domyślna)

    • Tabela złączona

    • Jedna tabela na klasę

  4. Pozostałe pola karty wypełnij zgodnie z poniższą tabelą. Dodatkowe informacje można znaleźć w sekcji Informacje o dziedziczeniu.

    Właściwość Opis Wartość domyślna
    Kolumna wyróżniająca Nazwa kolumny wyróżniającej, gdy używana jest strategia dziedziczenia Pojedyncza lub Złączona.

    Pole to odpowiada adnotacji @DiscriminatorColumn.


    Typ wyróżnika Ustawia typ wyróżnika na Char lub Integer (zamiast domyślnego typu String). Wartość w polu Wartość wyróżnika musi być zgodna z tym typem. Łańcuch
    Wartość wyróżnika Określa wartość wyróżnika używaną do wyróżnienia encji w tej hierarchii dziedziczenia. Wartość musi być zgodna z typem zdefiniowanym w polu Typ wyróżnika.

    Pole to odpowiada adnotacji @DiscriminatorValue.


    Przesłoń domyślne Zaznaczenie tego pola umożliwia zdefiniowanie własnych kolumn łączenia klucza głównego.

    Pole to odpowiada adnotacji @PrimaryKeyJoinColumn.



Środowisko Eclipse doda do pola encji następujące adnotacje:

@Inheritance(strategy=InheritanceType.<STRATEGIA_DZIEDZICZENIA>)
@DiscriminatorColumn(name="<KOLUMNA_WYRÓŻNIKA>",
    discriminatorType=<TYP_WYRÓŻNIKA>)
@DiscriminatorValue(value-"<WARTOŚĆ_WYRÓŻNIKA>")
@PrimaryKeyJoinColumn(name="<NAZWA_KOLUMNY_ŁĄCZENIA>",
    referencedColumnName = "<NAZWA_KOLUMNY_DOCELOWEJ>")

Następujące rysunki ilustrują poszczególne strategie dziedziczenia.

Dziedziczenie z pojedynczą tabelą

Rysunek ilustruje dziedziczenie encji z pojedynczą tabelą.

Dziedziczenie z tabelami złączonymi

Na tym rysunku przedstawiono strategię dziedziczenia z podklasami złączonymi.

 

Czynność pokrewna

Dodawanie trwałości do klasy

 

Pojęcie pokrewne

Zrozumienie trwałości w aplikacjach Java