У меня есть приложение JSF 2.1, использующее Spring и Hibernate.
Для решения проблемы LazyLoading я использую фильтр OpenSessionInView.
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Все работает нормально, мои ленивые классы запускаются, но когда я использую правило навигации с перенаправлением
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>fail</from-outcome>
<to-view-id>/index.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
Я получаю org.hibernate.LazyInitializationException:
id Я удаляю <redirect />
тег все работает отлично.
Почему?Это потому, что был создан новый вид?Так почему у меня новый Hibernate Session?Есть ли работа вокруг?