Pharod wrote:
> Используем Spring и Hibernate в многопоточном приложении, есть сценарии
> когда get() делаем в одном трэде а сохранием в базу обновленный уже в
> другом трэде. насколько я понимаю, Spring — мы используем
> HibernateTemplate — привязывает открытые сессии к трэдам с помощью
> ThreadLocal — в итоге мы видим исключение — "HibernateException: Illegal
> attempt to associate a collection with two open sessions".
> Как "попросить" Spring использовать одну long-live сессию для всего
> приложения? Или есть еще варианты решения?
Объект можно детачить от сессии evict()
По-моему, правильнее работать с объектом из одного треда. А иначе как ты представляешь себе работу с транзакциями?
Сессия по замыслу должна принадлежать только одному треду. Или, в крайнем случае, надо покопать в направлении, как
передавать сессию от одного треда к другому.
Posted via RSDN NNTP Server 2.0