Cześć,

Mam pewien problem dotyczący bardziej rozbudowanych formularzy. Podam przykład: obiekty domeny: User, Person, Address, Account, UserAccount.

User:
-String:username
-String:password
-boolean:enabled
-Person:person

Person:
-String:firstName
-String:lastName
-Address:address

Address:
-String:street
-String:country

Account:
-String:companyName

UserAccount: (relacja wiele do wielu)
-User:user
-Account:account
-boolean:active

Dodatkowo, stworzone są osobne klasy formularzy na podstawie obiektów domeny (nie będę ich pisał bo są prawie podobne). Z tego co wyczytałem w książce: "Spring w praktyce", lepiej jest korzystać z osobnych klas do sprawdzania poprawności danych formularzy a następnie je mappować.

W momencie zakładania konta, wymagane jest podanie: adres email, hasło, powtórzenie hasła, imię, nazwisko, nazwa firmy. Z tych danych ma zostać utworzony obiekt UserAccount. Do obiektów domeny (User, Account, UserAccount) mam stworzone DAO oraz Services.

Końcowym obiektem jaki chcę uzyskać jest UserAccount. W serwisie UserAccountService mam metodą: registerUserAccount(UserAccountForm form); Na podstawie danych z formularzy mają zostać "zmapowane" na konkretne obiekty domeny. Nie wiem gdzie dokładnie, to "mapowanie" mam zrealizować. Czy w kontrolerze (tak było w książce, ale wydaje mi się, że jest to rozwiązanie jednorazowe a prawdopodobnie będę tego używał jeszcze gdzieś) , czy może w klasach formularzy(stworzyć sobie interfejs Form z metodą T mapObiect(Form o)), czy ewentualnie w serwisach(logika byłaby przybliżona jak do interfejsu Form).

Czy ktoś mógłby się podzielić rozwiązaniem ? Może jakieś artykuły ?

Dzięki wielkie i pozdrawiam.