1

非 Web アプリケーションで OpenSessionInViewInterceptor を使用する必要があります。OSV Interceptor を次のように構成しました。

<bean id="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
  <property name="sessionFactory"><ref bean="sessionFactory"/></property>   
</bean>

遅延読み込み例外が発生しています。私が間違っている場所へのポインタはありますか?構成は正しいですか?

または、Web 以外のアプリでは、インターセプターの代わりに OpenSessionInViewFilter が必要ですか?

ありがとう!

4

1 に答える 1

1

の最初の行の Java Doc からOpenSessionInViewInterceptor

リクエストの処理全体のために Hibernate セッションをスレッドにバインドする Spring Web リクエスト インターセプター。

したがって、Web アプリケーションがないために Web リクエストがない場合、この Interceptor は役に立ちません。

OpenSessionInViewFilterも Web アプリケーション専用です。

したがって、セッション/トランザクションを「手動で」開始する必要があります。たとえば、@Transactional.

于 2012-12-24T13:00:23.650 に答える