我必须在非Web应用程序中使用OpenSessionInViewInterceptor。我按如下方式配置了OSV拦截器,
<bean id="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
我收到了一个延迟加载异常。有什么指向我错的地方吗?配置是否正确?
或者非Web应用程序是否需要OpenSessionInViewFilter而不是拦截器?
谢谢!
答案 0 :(得分:1)
从OpenSessionInViewInterceptor
Spring Web请求拦截器,它将Hibernate Session绑定到线程以进行整个请求处理。
因此,如果您没有Web应用程序,因为您没有Web应用程序,那么此拦截器对您没有帮助。
OpenSessionInViewFilter
仅适用于Web应用程序。
因此,您需要“手动”启动会话/交易,例如@Transactional
。