*ToMany Collections jsou ve výchozím nastavení v Hibernate a JPA líné. Chyba je způsobena tím, že se Jackson pokouší serializovat OneToMany, když je zavřený správce entity (neboli relace v režimu hibernace). Líné kolekce tedy nelze načíst.
Spring Boot s JPA ve výchozím nastavení poskytuje OpenEntityManagerInViewFilter
pro primární EM. To umožňuje přístup k databázi pouze pro čtení, ale ve výchozím nastavení funguje pouze pro primární EM.
Máte 3 možnosti:
1) Můžete přidat načítání spojení, např. Jak funguje režim FetchMode v Spring Data JPA
2) Můžete přidat OpenEntityManagerInViewFilter pro správce jiných než primárních entit a přidat jej do svého kontextu.
Vezměte prosím na vědomí, že to znamená výzvu, pro každou instanci Bar and Foo se vaše aplikace vrátí zpět do databáze, aby načetla OneToMany. Toto je část, která nefunguje pro Bar, ale je pro Foo. To implikuje problém se škálovatelností (některými nazývaný problém N + 1), protože pro každý foo a bar spustíte další dotaz, který bude pomalý pro netriviální množství Foos and Bars.
3) Alternativou je zapálení vaší sbírky na Bar and Foo (viz tento https://docs.oracle.com/javaee/7/api/javax/persistence/OneToMany.html#fetch-- ), ale toto je třeba pečlivě analyzovat, pokud vás škálovatelnost vůbec zajímá.
Doporučil bych možnost #1.