*ToMany Collections são preguiçosos por padrão no Hibernate e JPA. O erro é porque Jackson está tentando serializar o OneToMany quando o gerenciador de entidades (também conhecido como sessão em hibernate-speak) é fechado. Portanto, coleções preguiçosas não podem ser recuperadas.
Spring Boot com JPA por padrão fornece um
OpenEntityManagerInViewFilter
para o EM primário. Isso permite acesso ao banco de dados somente leitura, mas, por padrão, só funciona para o EM primário. Você tem 3 opções:
1) Você pode adicionar uma busca de junção, por exemplo Como funciona o FetchMode no Spring Data JPA
2) Você pode adicionar um OpenEntityManagerInViewFilter para o gerenciador de entidade não primário e adicioná-lo ao seu contexto.
Observe que isso implica um desafio, para cada instância Bar e Foo, seu aplicativo voltará ao banco de dados para recuperar o OneToMany. Esta é a parte que não está funcionando para Bar, mas é para Foo. Isso implica em um problema de escalabilidade (chamado de problema N + 1 por alguns), pois para cada foo e bar, você executa uma consulta adicional, que ficará lenta para quantidades não triviais de Foos e Bars.
3) Uma alternativa é deixar sua coleção no Bar e Foo ansiosa (veja isso https://docs.oracle.com/javaee/7/api/javax/persistence/OneToMany.html#fetch-- ), mas isso precisa ser analisado com cuidado se a escalabilidade for uma preocupação para você.
Eu recomendaria a opção #1.