ZAWWW-2st1.2-w05.tresc-1.0--Slajd16

Z Studia Informatyczne
Wersja z dnia 17:47, 31 sie 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Asocjacje w Hibernate

Asocjacje w Hibernate


Hibernate wspiera następujące typy asocjacji między obiektami klas trwałych: 1:1, N:1, 1:N i N:M. Asocjacje N:M zawsze wykorzystują tabelę pośrednią w bazie danych do reprezentacji powiązań. Asocjacje 1:1, N:1 i 1:N typowo są implementowane bez tabeli pośredniej, ale Hibernate umożliwia wykorzystanie tabeli pośredniej również dla nich.

Asocjacje mogą być jednokierunkowe lub dwukierunkowe. Kierunkowość determinuje możliwość nawigacji między powiązanymi instancjami klas trwałych. Asocjacja dwukierunkowa jest definiowana jako para asocjacji jednokierunkowych, ze wskazaniem dla jednej z nich, że definiuje ona drugi kierunek nawigacji dla dwukierunkowej asocjacji.

Dla asocjacji istnieje możliwość zlecenia kaskadowej propagacji operacji na obiekty zależne. Domyślnie kaskadowa propagacja nie zachodzi. Kaskada jest często definiowana dla związków 1:N mających charakter związku kompozycji. Dostępne wartości atrybutu „cascade” opisującego asocjację to none (brak propagacji), all (propagacja wszystkich operacji), save-update (propagacja utrwalania i uaktualniania), delete (propagacja usuwania) i all-delete-orphan (propagacja wszystkich operacji i dodatkowo usuwanie obiektów zależnych, nie posiadających powiązania z obiektem nadrzędnym).


<< Poprzedni slajd | Spis treści | Następny slajd >>