- PR -

OpenSessionInViewパターンについて

1
投稿者投稿内容
TI
会議室デビュー日: 2005/05/12
投稿数: 3
投稿日時: 2005-05-12 10:01
お世話になります。

Hibernate + Springを使ってアプリケーションを開発しています。
が、OpenSessionInViewパターンを採用するかで悩んでいます。

このパターンを使うと、関連するレコードの遅延ロードが行える反面、画面が返信された後に
トランザクションが失敗した場合などが困ると聞きました。
また、私の担当するアプリケーションが、Web環境以外からも接続される(データ登録時はClient-Server型の接続から受け付ける)ため、セッションの管理をどのように行うか悩んでいます。

どなたかアドバイスなどいただけましたら幸いです。
よろしくお願い致します。
みやも
ベテラン
会議室デビュー日: 2002/04/22
投稿数: 74
投稿日時: 2005-05-12 20:05
>画面が返信された後にトランザクションが失敗

ビューがJSPの場合、
レスポンスが返りはじめた後に例外が起こると困るのであれば、
JSPのバッファサイズやオートフラッシュの設定で対処できるかもしれません。

参考
http://www.jajakarta.org/kvasir/bbs/old/318?msg=4#msg991

また、基本的にDBへの書き込み処理はJSPに処理をわたす前に完了しておいた方がよいと思います(JSPなどビューからアクセスしにいくのは読み込みのみにする)。


>セッションの管理をどのように行うか

OpenSessionInViewはスレッドローカルやリクエストスコープにHibernateのセッション(DBのコネクションやトランザクション)を管理する方法なので、このパターンとHttpSessionはあまり関係ないと思います(そういう話でなくて?)。


自分はあまり深くは使ってないので、詳しい人いたら、ご意見頼んます。
1

スキルアップ/キャリアアップ(JOB@IT)