Jaka jest dobra strategia przekształcania jednostek jpa w spokojne zasoby

Odpowiednie zasoby nie zawsze mają odwzorowanie indywidualne z jednostkami jpa. Widzę, że jest kilka problemów, które próbuję sobie poradzić:

Gdy zasób ma informacje zapełnione i zapisane przez więcej niż jedną jednostkę.Gdy jednostka ma więcej informacji, które chcesz wysłać jako zasób. Mógłbym po prostu użyć Jacksona@JsonIgnore ale nadal miałbym numer 1, 3 i 4.Gdy jednostka (np. Korzeń zagregowany) ma zagnieżdżone elementy i chcesz uwzględnić część jej zagnieżdżonych elementów, ale tylko do pewnego poziomu zagnieżdżania jako zasobu.Kiedy chcesz wykluczyć jeden element podmiotu, gdy jest on częścią jednej jednostki macierzystej, ale wykluczyć oddzielny element, gdy jego część jest inną jednostką macierzystą.Wysadzone okrągłe odnośniki (mam to głównie przy pracyJSOG używając Jacksona@JsonIdentityInfo)

Możliwe rozwiązania: Jedynym sposobem, w jaki mógłbym pomyśleć o tym, by poradzić sobie z tymi wszystkimi problemami, byłoby utworzenie całej gamy klas „zasobów”, które miałyby konstruktory, które zajęłyby potrzebne elementy, aby skonstruować zasób i umieścić na nim niezbędne narzędzia pobierające i ustawiające . Czy to przesada?

Aby rozwiązać 2, 3, 4 i 5, mógłbym po prostu wykonać pewne przetwarzanie przed i po rzeczywistym obiekcie przed wysłaniem go do Jacksona w celu serializacji lub deserializacji mojego pojo do JSON, ale to nie dotyczy problemu 1.

Są to wszystkie problemy, które, jak sądzę, napotkaliby inni, i jestem ciekawy, jakie rozwiązania wymyślą inni ludzie. (Obecnie używam JPA 2, Spring MVC, Jackson i Spring-Data, ale jestem otwarty na inne technologie)

questionAnswers(4)

yourAnswerToTheQuestion