Проблема в том, что у объекта модели Mainsubjects были некоторые ассоциации (построенные OneToMany, ManyToOne и т. Д.), Списки (PersistentBags), Sets или что-то подобное (Collection), которые инициализируются лениво.Это означает, что после инициализации набора результатов Mainsubjects не указывает на фактический объект коллекции, а только на прокси.При рендеринге, обращаясь к этим коллекциям, hibernate пытается получить значения из базы данных, используя прокси.Но на данный момент нет открытой сессии.По этой причине вы получаете это исключение.
Вы можете установить стратегию извлечения на EAGER (если вы используете аннотации), например: @OneToMany (fetch = FetchType.EAGER)
В этом методе вы должны знать, что вы можетене позволяйте более чем одному PersistentBag инициализироваться с нетерпением.
или вы можете использовать шаблон OpenSessionInView, который представляет собой фильтр сервлета, который открывает новый сеанс до того, как ваш запрос обработан контроллером, и закрывается до того, как ваше веб-приложение ответит:*