[Seasar-user:12759] 【teedaExt】s2hibernateとの併用

鈴木 順 [E-MAIL ADDRESS DELETED]
2008年 2月 5日 (火) 23:25:50 JST


お世話になっております。鈴木です。

過去にs2jsfで作成したWEBAPPをteedaExtを使用するものに置きなおしています。

そこで教えていただきたい事が一点あります。

TeedaExtよりPRGパターンを用いた制御が行われると思います。
まずJSFのRenderResponsePhaseはGETで行われると言う認識でよいでしょうか?

そうである場合以下の様な問題に遭遇しております。
何か良い打開策は無いでしょうか?

永続化部分はHibernateを使用しています。
LazyLoadingした情報をレンダリングする事を可能とするために、
org.seasar.hibernate3.filter.OpenSessionInViewFilterを使用して
HTTPと同じスコープでDBトランザクションの制御をしておりました。
しかし、PRGパターンをとなり、違うHTTP通信で、
InvokeApplicationPhaseとRenderResponsePhaseが
動作するようになりトランザクションが分かれてしまい、
org.hibernate.LazyInitializationExceptionが発生します。
(異なるHibernateSessionが使用されてしまうため)

Entityの階層が深いのと、
エンドユーザの設定により表示に使われるプロパティが異なるので
LazyLoadingを諦めてdxoなどを利用してdtoに変換する事は厳しい状況です。

なにか一覧のPOSTとGETを紐付けて管理する方法などは無いでしょうか?
もしくはPOSTでRenderResponsePhaseを実施し、
GETでその結果のみ取り出す的な方法はありませんでしょうか?

teedaは1.0.12です。

以上、申し訳ありませんが宜しくお願いします。






Seasar-user メーリングリストの案内