Kontynuujemy naszą naukę o relacjach w Hibernate, ale teraz przechodzimy na trochę wyższy poziom zaawansowania.
Pokażemy Ci jak zamapować oraz jak używać relacji jeden do wiele. Najpierw jednak słowo o bazie danych.
Relacja jeden do wiele występuje w bazie danych wtedy, gdy rekord jednej tabeli wiąże się bezpośrednio
z wieloma rekordami drugiej tabeli, przy czym rekord drugiej tabeli wiąże się z tylko jednym rekordem tej pierwszej.
Oczywiście nie wszystkie rekordy z tych tabel muszą być zawsze powiązane.
Może istnieć rekord w jednej tabeli i nie istnieć w drugiej. Ważne jest, że w każdej chwili
do takiego istniejącego rekordu możemy dowiązać
wiele rekordów z drugiej tabeli
i w drugą stronę, do każdego z wielu takich rekordów może być przypisany max. jeden rekord z drugiej strony relacji.
Tak więc jeden typ może mieć wiele itemów, ale już jeden item moze mieć maksymalnie jeden typ. Może istnieć typ, do
którego za chwilę podepniemy jeden lub wiecej itemów. Może istnieć item, który nie ma typu, ale za chwilę go określimy.
Może istnieć nawet sytuacja, w której obiekty są przypisane do siebie jakby znajdowały się w relacji jeden do jeden,
tak jak w przypadku
Type number 3. Oczywiście w każdej chwili działania programu mamy możliwość podpięcia do takiego typu
większej liczby itemów, gdyż właśnie relacja jeden do wiele nam na to pozwala.
Czy ma to sens aby istniał typ bez itemów? Pewnie tak. Natomiast czy ma sens, aby istniał item bez typu?
Niekoniecznie, ale to już też zależy od wymagań jakie ma spełniać program.
Technicznie taka możliwość istnieje.
Modelowanie takiej relacji w Hibernate sprowadza się do użycia adnotacji
@OneToMany lub
@ManyToOne.
Zależy, od której strony spojrzymy.
Tak więc mając encję
Item powinieneś teraz stworzyć encję
Type, która będzie odpowiadać tabeli...
Pełny materiał ze wszystkimi źródłami kodu jest dostępny po wykupieniu pakietu. Zapraszamy!
Jeśli zakupiłeś materiał zaloguj się tutaj, aby uzyskać dostęp.