Edycja encji za pomocą spring data jpa

0

Pracuję nad aplikacją do zarządzania fakturami. Korzystam ze springa i spring data jpa.
Do skorzystania z systemu w pierwszej kolejności należy się zarejestrować podając login, hasło i email. Po zalogowaniu do sytemu użytkownik powinien wypełnić dane dotyczące firmy. Z perspektywy bazy danych dane te są przechowywane w kilku encjach połączonych ze sobą relacjami.

Chciał bym prosić o wskazówki dotyczące tego jak zorganizować tą funkcjonalność? Do tworzenia obiektu z formularza używam @ModelAttribute.

  1. W pierwszej kolejności chciał bym uzupełnić dane a później mieć możliwość ich edycji.

Jaka jest praktyka w takich sytuacjach ?

Pytanie dodatkowe.
Mając relację jeden do wielu po której stronie powinienem ustawiać referencję ?

0

Mając relację jeden do wielu po której stronie powinienem ustawiać referencję ?

Klucz obcy znajduje sie po stronie wiele i wskazuje na krotke po stronie jeden.
A referencja w obiektach? No to tez zalezy ale dlaczego nie zrobisz bi-directional? Wtedy bedziesz mogl sie odwolywac z obydwu stron.

Jak to zorganizowac, dales troche malo szczegolow. Jak wyglada jakis prowizoryczny uklad tabel itp?

0

09fb56950e.png

@skytrack : zamieszczam zrzut widoku encji.

  1. Czy pisząc bi-directional masz na myśli relację @ManyToMany? Czy to jest dobra praktyką ustalać takie relacje w sytuacjach kiedy taka relacja nie zachodzi?

  2. Co do szczegółów: Na ten moment mam mam część kodu która odpowiada ze rejestrację użytkownika (encja user). Umożliwia to logowanie. Teraz zastanawiam się jak dołożyć funkcjonalność która pozwoli na uzupełnienie pozostałych encji związanych z kontem użytkownika (encja firma, adres i kilka innych).
    Dodatkowo ma istnieć możliwość edycji tych danych. Mam już view w jsp który jest jednym dużym formularzem. Jak powinien wyglądać kontroler do sytuacji w której użytkownik chce podać dane pierwszy raz oraz w sytuacji kiedy dane już były wpisane do systemu ale użytkownik chce je zmienić ?
    Czy te dwie rzeczy powinny być połączone w jednym kontrolerze ? Czy może rozdzielone ?

1

Na wstepie zaznaczam, ze nie jest to zadanie skomplikowane ale wymaga solidnych podstaw z spring mvc i widokow jsp.

  1. Czy pisząc bi-directional masz na myśli relację @ManyToMany? Czy to jest dobra praktyką ustalać takie relacje w sytuacjach kiedy taka relacja nie zachodzi?

Nie, abstrachujac od rodzaju relacji(1:1,1:n,n:m) mozemy je definiowac jako jedno lub dwu kierunkowe.
http://stackoverflow.com/questions/5360795/what-is-the-difference-between-unidirectional-and-bidirectional-associations

Zalozmy, ze masz zdefiniowane firmy, i teraz chcesz przypiac uzytkownika pod nie. Mozesz za pomoca kontrolera wrzucic do modelu firmy a potem selectem(html) w widoku zaznaczyc odpowiednia firme i za pomoca parametrow http wyslac do kontrolera id uzytkownika i id firmy a dalej w serwisie juz dokonac asocjacji i utrwalenia.
To takie szybkie i proste rozwiazanie ale na razie chyba dla Ciebie bedzie w sam raz.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.