У меня довольно большой проект, включающий Spring и Hibernate. Прямо сейчас я вывожу некоторые объекты из спящего режима в память и наткнулся на какую-то загвоздку. У меня есть следующая настройка.
Класс A содержит несколько примитивов и класс B. B содержит примитивы и класс C, который ранее был лениво загружен.
Теперь у меня есть это
Вызов службы 1:
1.) создать объект класса A
2.) получить объект класс B
3.) установить B в A
4.) добавить A в память
Вызов службы 2:
1.) получить A из памяти
2.) получить B из A
3.) получить C из B
4.) работать с C
Поскольку C загружается отложенно, он полагался на существующий сеанс гибернации для ленивой загрузки себя из B с спящим режимом, по крайней мере, я считаю, что это так. Однако теперь мне нужно выполнить отложенную загрузку без изменения DAO для возврата идентификатора, а нет текущего сеанса гибернации, в который можно было бы проникнуть с помощью OpenSessionInView. Как лучше всего решить эту проблему, учитывая ограничения? Единственные решения, которые я нашел, основаны на неподходящем изменении кода или существующем сеансе, поэтому я думаю, что, возможно, я мог бы вручную открыть сеанс гибернации. Как бы я это сделал? Альтернативно, есть ли лучшее решение этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/884 ... te-session