別のサイトに書いて置いたものをここに持ってきただけですけどね。
OSIV と FMP の設定方法について説明していきます。 OSIV, FMP どちらも Spring の設定方法自体は簡単です。 Open Session In View (OSIV) の設定方法 まず Open Session In View (OSIV) ですが、 Spring には 2つの解決方法があります。
- OpenSessionInViewFilter
- OpenSessionInViewInterceptor
<filter>
<filter-name>oemivFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
<init-param>
<param-name>entityManagerFactoryBeanName</param-name>
<param-value>reportsEntityManagerFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>oemivFilter</filter-name>
<!-- ↓このパターンは利用する画面のURLに合わせてください -->
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<>タグ記号の変換ってめんどくさい...。
JPA なしの Hibernate だけで利用する場合は、以下のような設定を web.xml に記述します。
Filter クラスが変わるだけですね。
<filter>
<filter-name>oemivFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
<init-param>
<param-name>entityManagerFactoryBeanName</param-name>
<param-value>reportsEntityManagerFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>oemivFilter</filter-name>
<!-- ↓このパターンは利用する画面のURLに合わせてください -->
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
これらの説明はなぜか Reference には書いておらず JavaDoc にしか記述がありません。
FMP 戦略にするなら、この設定は不要です。
これで、 OSIV の設定は終わりで、自動にビューレンダリングまで Session を開いてくれます。T.B.C.
0 件のコメント:
コメントを投稿