@OneToOne sposoby mapowania.

0

Witam, ostatnio w sieci natknąłem się na artykuł dotyczący mapowania 1-1. Autor pokazuje tam mapowanie z pomocą kolejnej tabeli wbazie danych.
user image
I tu teraz mam małe pytanie, gdyż jeżeli dobrze rozumiem to w tym wypadku będziemy w stanie przypisywać jedno konto to wielu użytkowników, gdyż mamy klucz główny na employee, który wymusza unikatowość oraz klucz obcy(account_id) na id w tabeli account i tym samym byłaby to relacja 1 do wielu. No chyba, że ten pusty kwadracik oznacza unikatowość?

0

ale o czym ty w końcu piszesz... @onetoone, to jeden do jednego, jedno coś może mieć inne jedno coś - jeżeli to było pytanie, to rozwiałem twoje wątpliwości ? bo jeżeli pytasz o pusty kwadracik na obrazku to nie jest to pytanie do działu java

0

No jeżeli w tabeli pośredniczącej jest klucz obcy odwołujący się na id w Employee oraz klucz obcy na id w account, i w tj tabeli kluczem głównym jest id_employee to mogę mieć sytuacje, że do jednego konta przypisanych jest paru pracowników a to nie jest OneToOne.

1

Na tym obrazku dostrzegam zło w tym modelu. Generalnie tabela łącząca powinna mieć UNIQUE na obu kolumnach, a klucz powinien być złożony z obu kolumn...

Rzecz w tym, że one-to-one z tablicą łączącą jest bardzo zły (podwójny join). Lepiej jest trzymać w jednej z tabel odpowiednie id z drugiej. Nadal nie będzie idealnie, ale będzie już lepiej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1