Аннотация OneToMany дефолтно имеет fetch Lazy, т.е. Hibernate попытается проинициализировать ее при обращении к коллекции. Если у него не будет открытой сессии, то он выплюнет исключение.
Но поставив fetch Eager должна вылететь новое исключение stack over flow, из-за рекурсивных зависимостей country<=>city. Для этого в Jacson есть аннотации @JsonManagedReference и @JsonBackReference.
Посмотрите 2 полезные ссылки: stackoverflow.com/questions/3325387/infinite-recur... https://github.com/FasterXML/jackson-datatype-hibernate