Cześć,
otóż piszę sobie taki projekt ala bukmacher do szuflady. No i chcę dzielić to na moduły i spróbować zrobić to z użyciem praktycznie tylko package-scope.. No, ale... Mam problem w postaci takiej, że np. mam encję User i Bet - one mają między sobą relację.. Tak więc abym mógł użyć Bet w Userze musi być to albo PUBLIC albo muszą być w jednym package, ale nie zbyt mi się to pokrywa. No i tutaj pierwsze pytanie - jak to rozwiązać? Czy jeśli mam relacje na jakichś dwóch encjach to teraz muszą być one obowiązkowo w jednym package? Drugie sprawa to: podział na encje JPA, obiekty domenowe oraz DTO. Chciałbym dowiedzieć się jak tutaj podział powinien wyglądać i co dana rzecz ma w sobie zawierać.
Jak rozumiem encja JPA ma tylko i wyłącznie pola oraz @Entity nad sobą oraz relacje bazodanowe, DTO jest tylko potrzebne mi do jakiegoś ruchu na widok - tak abym nie musiał wybierać wszystkiego z bazy tylko brać DTO i to DTO pchać, czyli robię zazwyczaj select new dto()
. No, a co z obiektem domenowym? Co on w sobie ma? Gdzie mogę coś o tym więcej przeczytać? Czy np. tam trzymam metody typu countOddValue()
albo isActive()
czy np. getWinnerOfEvent()
gdzie mam jakieś podstawowe obliczenia? Czy raczej wciskam takie rzeczy w Service? Najbardziej mnie ciekawi właśnie co ma w sobie zawierać obiekt domenowy i jak dobrze rozplanować sobie strukturę takiego projektu.
Z góry dziękuję.