Siemka. Czy mógłby mi ktoś wytłumaczyć w jaki sposób wysyła się przez REST`a, lub nawet przez model, "częściowo" encje ( czyli rozbijając ją na mniejsze części ) ?
Tłumacząc chcemy na froncie mieć przykładowo listę firm, która to każda z nich zawiera wiele działów, ale nie chcemy ich w tym momencie wyświetlać. Przekazując listę firm nie chcemy przecież za każdym razem pobierać z bazy i przekazywać na front wszystkich jej działów skoro nie są potrzebne ( przynajmniej tak mi się wydaje i wnioskuję, że wydajnościowo byłaby to lipa np. 10 firm po 10 działów ). Jednocześnie chcemy mieć też możliwość wyświetlenie tej firmy z wszystkimi działami, gdy będzie taka konieczność. Wydaje mi się, że można to zrealizować tworząc po kilka różnych DTO`sów ( zawierających tylko potrzebne w danym momencie pola ) dla takiej encji firma, jednak wymagałoby to również wiele różnych endpointów w kontrolerach.
Na przykładzie diagramu z linku : https://github.com/DSniatecki/YourFleetManager/blob/master/SQL/Database-Diagram-Screenshot.jpg
CompanyDTO zawierałoby pola : String nazwaFirmy, obiekt typu Address i ContactDetails, oraz Set<CompanyDepartment>. A CompanyBasicDTO już np. tylko Stringa nazwaFirmy i obiekt ContactDetails. By nie wykonywać niepotrzebnych zapytań w encji Company nieużywane przez CompanyBasicDTO pola, byłyby na lazy loadingu.
Głowię się nad tym od kilku dni i nie mogę znaleźć tego nigdzie wytłumaczonego. Z tego co widziałem w tutorialach / czy na różnych projektach na githubie to zazwyczaj pobierali całe obiekty, a wykorzystywali tylko procent, szczególnie na hinduskich tutorialach. Z góry wielkie dzięki za pomoc i przeczytanie tej małej powieści :)