JPA Data modeling

0

Załóżmy, że tworzę klasę User, z polami:
String name
String lastname
Address address

I teraz pytanie o dobre praktyki, lepiej jest stworzyć klasę address i tam pola do adresu czy lepiej zrobić Stringa address i wsadzić tam wszystko?

0

Oczywiście mowa o klasach, które odzwierciedlają strukturę bazy danych sql

0

Osobną klasę

0

Zdecydowanie klasę MUSIMY powołać, z jednym Stringiem to jet kiła.

To dopiero początek ciekawych decyzji.
Na gruncie JPA obiekt klasy Address może być emebedded w User, czyli tabela SQL jest szeroka i płaska (będzie prawidłowo wygenerowana przez JPA)
albo może być samodzielną encją (tabelą) w relacji OneToOne albo jeszcze innej..

W/w decyzja by zależała od innych założeń projektowych, np czy sa jeszcze inne klasy charakteryzujące się adresem (Firma / Company). A już ja bym preferował

interface IHavingAddres {
  Address getAddres();
}

i klasy po nim

Na marginesie, jak wejdziemy w analizę założeń, zwykle User (użytkownik naszego systemu) nie jest tożsamy z osobą (posiadającą adres).

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