JPA (Hibernate)、Spring、およびCXFに基づく Web サービス アプリケーションがあります。トランザクション ビジネス メソッドの後でいくつかの遅延読み込み例外に直面しています (rpesentation レイヤーでレンダリングする追加の Bean が必要なため)。OpenSession/ EntityManagerInViewパターンを試してみたいと思いました。
この選択について異議を唱えないでください。私たちはただ試しているだけです。
問題は、標準の Spring Servlet の代わりにCXFServletを使用しているため、web.xml でOpenEntityManagerInViewFilterを使用できないことです。
WebRequestインターセプターとして適用されるOpenEntityManagerInViewInterceptorを使用できません(CXFインターセプター/フィルターでは機能しません)。
最後に、任意のメソッドをセッションにラップする AOP プロキシであるHibernateInterceptorを認識しています。それでも、これは JPA API ではなく Hibernate API 用です (私はSessionFactoryではなくEntityManagerFactoryを使用しています)。
それで、あなたはどちらかを知っていますか:
- JPA APIのHibernateInterceptor ( EntityManagerInterceptor ?)
- Spring WebRequestInterceptorをJAX-RSfilterに適合させる方法は?
- 他の解決策はありますか?
よろしくお願いします。