*ToMany Collections er som standard dovne i Hibernate &JPA. Fejlen skyldes, at Jackson forsøger at serialisere OneToMany, når entity manager (også kaldet session i dvale-speak) er lukket. Derfor kan dovne samlinger ikke hentes.
Spring Boot med JPA giver som standard et OpenEntityManagerInViewFilter
for den primære EM. Dette giver mulighed for skrivebeskyttet DB-adgang, men fungerer som standard kun for den primære EM.
Du har 3 muligheder:
1) Du kan tilføje en join-hentning, f.eks. Hvordan fungerer FetchMode i Spring Data JPA
2) Du kan tilføje et OpenEntityManagerInViewFilter til den ikke-primære enhedsadministrator og tilføje det til din kontekst.
Bemærk venligst, at dette indebærer en udfordring, for hver Bar og Foo-forekomst vil din app gå tilbage til databasen for at hente OneToMany. Dette er den del, der ikke fungerer for Bar, men er for Foo. Dette indebærer et skalerbarhedsproblem (kaldet N + 1-problemet af nogle), da du for hver foo og bar kører en ekstra forespørgsel, som bliver langsom for ikke-trivielle mængder af Foos og Bars.
3) Et alternativ er at gøre din samling på Bar and Foo ivrig (se denne https://docs.oracle.com/javaee/7/api/javax/persistence/OneToMany.html#fetch-- ), men dette skal analyseres omhyggeligt, hvis skalerbarhed overhovedet er et problem for dig.
Jeg vil anbefale mulighed #1.