Sto lavorando con Spring Boot + Jersey + JPA / Hibernate per creare un'API RESTful. Il problema che sto incontrando in questo momento è quando ho una relazione nella mia Entità JPA che è pigro caricato. Ottengo un'eccezione di carico pigro quando Jersey va a serializzare l'oggetto. La mia domanda è qual è il modo migliore per evitare questo / best practice.
Mi rendo conto che potrei semplicemente fare FetchType.EAGER ma sembra una pessima idea costruire un enorme oggetto grafico che potrebbe non essere necessario.
Ho pensato di utilizzare il pattern DTO, ma sembra una grande quantità di codice, quindi non sono sicuro di voler seguire questa rotta a meno che non sia la migliore opzione.
Potrei passare a EclipseLink perché, a quanto ho capito, non soffre del carico Lazy, nessun problema di sessione Hibernate come fa Hibernate.
L'altra opzione che ho pensato è stata quella di mettere @JsonIgnore su tutte le proprietà lazy load e fare un altro endpoint API per recuperare quella proprietà. Ad esempio, supponiamo che una persona abbia molti indirizzi, se gli utenti finali desiderano che gli indirizzi debbano richiedere / persona / indirizzi
Qual è il modo migliore per gestire questo problema e perché? Alla fine della giornata questa API si interfaccia con un'applicazione AngularJS. L'applicazione sarà di dimensioni abbastanza buone. Il database che esegue il backup ha 80-90 tabelle.