Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Hibernate & Spring


Автор: PovAnd 14.9.2007, 12:40
Понимаю, тема Spring Hibernate org.hibernate.LazyInitializationException изъеженая дальше некуда и все равно спрашиваю:

Какие варианты от этого избавиться, если я не хочу вручную открывать и закрывать hibernate session, а пользуюсь HibernateTemplate. Ну и так же я не хочу отказываться от ленивой инициализации (default-lazy="false").  

Мне здесь написали :
"При правильной работе с hibernate через spring заниматься открыванием и
закрыванием сессии вручную не приходится, более того, это признак неудачного
дизайна системы. В данном конкретном случае это точно не было навязано
какой-то сильной необходимостью. Советую посмотреть в сторону
транзакционного атрибута PROPAGATION_REQUIRED в spring."

Если не в лом, помогите, что-нибудь увидеть в стороне атрибута PROPAGATION_REQUIRED

Автор: tux 14.9.2007, 14:10
Можно использовать паттерн Open Session In View - http://www.hibernate.org/43.html. В Spring тоже есть его реализация - классы org.springframework.orm.hibernate.support.OpenSessionInViewFilter и org.springframework.orm.hibernate.support.OpenSessionInViewInterceptor.

Автор: PovAnd 14.9.2007, 14:19
Да спасибо за помощь. Я еще раз перечитал http://www.jroller.com/kbaum/entry/orm_lazy_initialization_with_dao статью, попробовал использовать HibernateInterceptor и на данный момент LazyInitializationException не проявляет себя. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)