Aby zdefiniować powiązanie wielowartościowe o krotności wiele do wielu, użyj odwzorowania wiele do wielu. Odwzorowanie wiele do wielu ma dwie strony: stronę będącą właścicielem i stronę niebędącą właścicielem. Tabelę łączenia należy określić po stronie będącej właścicielem. W przypadku odwzorowań dwukierunkowych, właścicielem może być dowolna ze stron.
W widoku Struktura JPA wybierz pole, które ma być odwzorowane.
Kliknij prawym przyciskiem myszy pole, a następnie wybierz opcję Odwzoruj jako > Wiele w wiele. W widoku Szczegóły JPA (w przypadku atrybutów) wyświetlane są właściwości wybranego pola.
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 odwzorowania encji | Definiuje odwzorowanie jako odwzorowanie wiele do wielu.
Pole to odpowiada adnotacji |
Wiele do wielu |
Encja docelowa | Encja, na którą ten atrybut jest odwzorowywany. | null
Nie jest konieczne jawne określenie encji docelowej, gdyż możliwe jest jej ustalenie na podstawie typu obiektu docelowego. |
Pobieranie | Określa metodę ładowania danych z bazy danych. Dodatkowe informacje można znaleźć w sekcji Metoda pobierania.
|
Oszczędne |
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 |
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, która zawiera kolumnę klucza obcego. | Tabelę łączenia należy określić po stronie będącej właścicielem.
Domyślnie przyjmuje się, że nazwa składa się z połączonych znakami podkreślenia nazw tabel podstawowych powiązanych z encjami. |
Kolumny łączenia | Zaznacz opcję Przesłoń domyślne, a następnie dodawaj, edytuj lub usuwaj kolumny łą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 odwrotnego | Zaznacz opcję Przesłoń domyślne, a następnie dodawaj, edytuj lub usuwaj kolumny łączenia. | Odwzorowania mają domyślnie łączenia pojedyncze. |
Aby dodać nową kolumnę łączenia lub łączenia odwrotnego, kliknij Dodaj.
Aby zmodyfikować istniejącą kolumnę łączenia lub łączenia odwrotnego, zaznacz pole, które będzie modyfikowane i kliknij Edytuj.
Środowisko Eclipse doda do pola następujące adnotacje:
@JoinTable(joinColumns=@JoinColumn(name="<KOLUMNA_ŁĄCZENIA>"), name = "<NAZWA_TABELI_ŁĄCZENIA>") @ManyToMany(cascade=CascadeType.<ZAKRES_PROPAGACJI>, fetch=FetchType.<METODA_POBIERANIA>, targetEntity=<ENCJA_DOCELOWA>, mappedBy = "<ODWZOROWANA_PRZEZ>") @OrderBy("<PORZĄDKOWANIE_WEDŁUG>")