Я работаю над веб-приложением. Обычно в начале запроса (через код архитектуры) открывается сессия Hibernate для работы с транзакциями БД. По окончании запроса сессия закрывается. Это прекрасно работает для всех наших транзакций, за исключением одного конкретного случая, когда я хочу запустить поток из запроса. Этот поток будет вызывать транзакции БД.
Из потока я вызываю «sessionFactory.openSession()», и с помощью этого сеанса я выполняю свои транзакции. Проблема возникает в том, что когда запрос завершается, сам поток не обязательно может быть завершен. Поэтому, когда запрос завершается, и поток пытается выполнить другую транзакцию БД, я получаю, что сеанс Hibernate закрыт! ошибка.
В любом случае, из моего потока я могу открыть «чистый» сеанс, не связанный с сеансом, открытым в начале запроса?
openSession()
из потока запроса или порожденного потока? - person skaffman   schedule 26.02.2010