*ToMany колекциите са мързеливи по подразбиране в Hibernate &JPA. Грешката е, защото Джаксън се опитва да сериализира OneToMany, когато мениджърът на обект (известен още като сесия в режим на хибернация) е затворен. Следователно мързеливите колекции не могат да бъдат извлечени.
Spring Boot с JPA по подразбиране предоставя OpenEntityManagerInViewFilter
за първичния ЕМ. Това позволява достъп до DB само за четене, но по подразбиране работи само за основния EM.
Имате 3 опции:
1) Можете да добавите извличане на присъединяване, напр. Как работи FetchMode в Spring Data JPA
2) Можете да добавите OpenEntityManagerInViewFilter за неосновния мениджър на обекти и да го добавите към вашия контекст.
Моля, имайте предвид, че това предполага предизвикателство, за всеки екземпляр на Bar и Foo вашето приложение ще се върне в базата данни, за да извлече OneToMany. Това е частта, която не работи за Bar, но е за Foo. Това предполага проблем с мащабируемостта (наричан от някои проблем N + 1), тъй като за всеки foo и бар изпълнявате допълнителна заявка, която ще се забави за нетривиални количества Foos и Bars.
3) Алтернатива е да направите колекцията си в Bar and Foo нетърпелива (вижте този https://docs.oracle.com/javaee/7/api/javax/persistence/OneToMany.html#fetch-- ), но това трябва да бъде анализирано внимателно, ако мащабируемостта е проблем за вас.
Бих препоръчал вариант №1.