Я использую Spring 3 вместе с Hibernate. У меня есть запрос пользователя, который запускает поток java в контроллере весны, а затем отправляется ответ, поэтому поток может продолжать работать, пока пользовательский HTTP-ответ уже отправлен.Spring/Hibernate: сохранить сеанс открытым для потока или открыть новый?
Если я работаю с ленивой коллекции в моей теме я получаю следующее сообщение об ошибке:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: my.model.MyClass.lazyCollection, no session or session was closed
Я прочитал я мог бы использовать Hibernate.initialize (лицо), чтобы полностью извлечь ленивые коллекции, но я не могу использовать это как Я заполняю коллекцию только в теме. Кроме того, я попытался использовать merge(), но это все еще не решает проблему.
Есть ли способ вручную открыть сеанс или открыть новый для потока?
Благодарим за помощь!
Вы находитесь в веб-приложении, так что HTTP-запрос является thred, или вы что-то еще? – Ralph
Да Я в веб-приложении с весенним mvc. Однако, помимо потока запросов, я создаю его самостоятельно. – Erik