Pisanie DTO to dla mnie strata czasu, odłączona encja też jest DTO tylko trzeba pilnować granic transakcji[...]
Jesli jakiś framework, język, paradygmat wymaga abyś czegoś pilnował, był uważny to to jest właśnie recepta na katastrofę.
Człowiek może być uważny raz na jakiś czas - ale zespół napierniczający kod 5 dni w tygodniu po osiem godzin - nie będzie stale czujny.
Błedy związane z podpiętymi (lub nie ) do sesji encjami JPA są całkiem przykre w debugowaniu.
Mam już całkiem pokaźny zbiór historyjek związanych z tym problemem. Ktoś coś tam zmienił na użytek GUI, debugu...w podłączonej encji i pół bazy się skasowało...
albo podpiął w relacji parent - child obiekt pochodzący z zagnieżdzonej transakcji. Miodzio. Takie rzeczy potrafią całkiem zatrzymać development w projekcie na tydzień lub dwa.
Dla mnie ten aspekt JPA łamie po prostu zasady enkapsulacji.
DTOsy , jakkolwiek w większości projektów zrobione w sposób chory, przynajmniej trochę przed tym zabezpieczają. W JPA ````select new DTO() ``` to w zasadzie podstawa zdrowego trybu życia.