[Seasar-user:852] Re: S2HIBERNATE のセッションの扱いに関して

Yasuo Higa higa
2004年 7月 10日 (土) 14:54:58 JST


<[E-MAIL ADDRESS DELETED]> の、
   "[Seasar-user:851] S2HIBERNATEのセッションの扱いに関して" において、
   "Ota Wataru <[E-MAIL ADDRESS DELETED]>"さんは書きました:

ひがです。

> Otaです
> 
> S2HIBERNATEのSessionの扱いに関してですが、現状ではrequiredTx等の
> Interceptorを利用したトランザクションに連動して強制的に
> S2SessionFactoryImpl.beforeCompletionがコールされSessionがclose
> されてしまいますが遅延ロードを利用したい場合などに必要なOpenSessionView
> パターンを適用する場合、ServiceもしくはBusinessLogic層でSessionがclose
> される事になるので実現不可能な気がするのですが私の勘違いでしょうか?
> 
> ひがさんの言われるようにS2Daoのような結果セット中心であれば遅延ロード
> も不必要かもしれませんが、業務に合わせS2HIBERNATEと併用したいと考えた
> 時に遅延ロードも使いたいケースが出てくると思いますのでbeforeCompletion
> 内でSessionをクローズしないオプションも検討してもらえませんか。
> 
正直な気持ちを言えば、OpenSessionViewパターンは永続化層の機能を
プレゼンテーション層で扱っていたり、プレゼンテーション層で
SQLを発行していたり、アーキテクチャ間違ってるよって思ってます。
レガシーなプレゼンテーション層で様々な処理を行っていた時代の
なごりだと思っているので、できれば使って欲しくない機能です。

BusinessLogic層でダミーでgetterメソッドを呼び出し、
値をキャッシュしてからプレゼンテーション層に渡すという
方法でいけると考えています。

とはいえ、現実のプロジェクトでどうしてもあったほうが、
工数減るしアーキテクチャにはあまりこだわらないということなら
OpenSessionViewパターンもサポートすべきだと考えます。

この後のメールで書きますが、S2Hibernateを私の手から切り離し
もっとスピード感を持って拡張できるようにしたいと思ってます。
そのときには、是非OpenSessionViewパターンもサポートしたいですね。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.



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