Do tej pory wytłumaczyliśmy Ci krok po kroku jak wygladają relacje jeden do jeden i jeden do wiele. Teraz przyszedł czas na
omówienie najbardziej zaawansowanej z relacji - relacji wiele do wiele. Standardowo zaczynamy od słowa wstępu dotyczącego bazy danych.
Relacja wiele do wiele występuje w bazie danych wtedy, gdy rekord jednej tabeli wiąże się bezpośrednio
z wieloma rekordami drugiej tabeli oraz rekord drugiej tabeli wiąże się z wieloma rekordami 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. Tyle, że wtedy nie można mówić jeszcze o relacji.
Ważne jest jednak to, że w każdej chwili do takiego istniejącego rekordu możemy dowiązać
wiele rekordów z drugiej tabeli i na odwrót.
Tak więc jedna kategoria może mieć wiele itemów oraz jeden item moze przynależeć do wielu kategorii. Może istnieć kategoria obecnie nie przypięta
do żadnego itema, ale i tak gdy tylko zajdzie potrzeba możemy do niej podpiąć jeden lub wiecej itemów. Może istnieć item, który nie ma kategorii, ale za chwilę ją określimy.
Tak jak było w przypadku relacji jeden do wiele i tutaj powstaje pytanie czy z logicznego punktu widzenia ma to sens aby istniał item, który nie ma kategorii.
Ponownie zależy to od wymagań jakie ma spełniać program, natomiast przykładowo w aplikacji
StartAPPa przyjęliśmy, że nie ma takiej możliwości.
Modelowanie takiej relacji w Hibernate sprowadza się do użycia adnotacji
@ManyToMany.
Tak więc mając encję
Item powinieneś teraz stworzyć encję
Category, 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.