Odwzorowanie jeden do wielu

Odwzorowanie jeden do wielu umożliwia zdefiniowanie relacji o krotności jeden do wielu.

  1. W widoku Struktura JPA wybierz pole, które ma być odwzorowane.

  2. Kliknij prawym przyciskiem myszy pole, a następnie wybierz opcję Odwzoruj jako > Jedno w wiele. W widoku Szczegóły JPA (w przypadku atrybutów) wyświetlane są właściwości wybranego pola.

  3. Wypełnij pozostałe pola w sekcji Informacje ogólne widoku Szczegóły JPA zgodnie z następującą tabelą.

    Właściwość Opis Wartość domyślna
    Odsyłacz hipertekstowy typu odwzorowania encji Definiuje odwzorowanie jako Jedno w wiele. Odpowiada to adnotacji @OneToMany. Jedno w wiele
    Encja docelowa Encja, na którą ten atrybut jest odwzorowywany.
    Kaskada Szczegółowe informacje można znaleźć w sekcji Typ kaskadowy.
    • Wartość domyślna

    • Wszystko

    • Zapis trwały

    • Scal

    • Usuń


    Pobieranie Określa metodę ładowania danych z bazy danych. Dodatkowe informacje można znaleźć w sekcji Metoda pobierania.
    • Zachłanne

    • Oszczędne

    Zachłanne
    Odwzorowana przez Pole w bazie danych, które jest właścicielem relacji.
    Porządkowanie według Określa domyślny porządek obiektów zwracanych przez zapytanie. Szczegółowe informacje można znaleźć w sekcji Porządkowanie według.
    • Nieuporządkowane

    • Klucz główny

    • Niestandardowy

    Nieuporządkowane

  4. Wypełnij pola w sekcji Tabele łączenia widoku Szczegóły JPA zgodnie z następującą tabelą.

    Właściwość Opis Wartość domyślna
    Nazwa Nazwa tabeli łączenia Domyślnie przyjmuje się, że nazwa składa się z połączonych znakami podkreślenia nazw tabel podstawowych powiązanych z encjami.
    Kolumny łączenia Określa dwie lub więcej kolumn łączenia (czyli klucz główny).
    Kolumny łączenia odwrotnego Kolumna łączenia po posiadanej (lub przeciwnej) stronie asocjacji, czyli kolumnę klucza głównego posiadanej encji.

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

@OneToMany(targetEntity=<ENCJA_DOCELOWA>)
@Column(name="<KOLUMNA>")


@OneToMany(targetEntity=<ENCJA_DOCELOWA>.class, cascade=CascadeType.<ZAKRES_PROPAGACJI>,
    fetch = FetchType.<METODA_POBIERANIA>, mappedBy = "<ODWZOROWANA_PRZEZ>")@OrderBy("<PORZĄDKOWANIE_WEDŁUG>")
@JoinTable(name="<NAZWA_TABELI_ŁĄCZENIA>", joinColumns=@JoinColumn(name=
    "<NAZWA_KOLUMNY_ŁĄCZENIA>", referencedColumnName="<KOLUMNA_DOCELOWA_KOLUMNY_ŁĄCZENIA>"),
    inverseJoinColumns=@JoinColumn(name="<NAZWA_KOLUMNY_ŁĄCZENIA_ODWROTNEGO>",
    referencedColumnName="<KOLUMNA_DOCELOWA_KOLUMNY_ŁĄCZENIA_ODWROTNEGO>"))

 

Czynność pokrewna

Odwzorowywanie encji

 

Informacje pokrewne

Widok Struktura JPA
Widok Szczegóły JPA (dla atrybutów)

 

Pojęcie pokrewne

Zrozumienie odwzorowań obiektowo-relacyjnych
Zrozumienie API trwałości Java EJB 3.0