Как вручную открыть сеанс гибернации?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вручную открыть сеанс гибернации?

Сообщение Anonymous »

У меня довольно большой проект, включающий 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»