[Seasar-user:3205] トランザクションの制御について

tarumi yuutarumi
2006年 2月 16日 (木) 19:58:53 JST


tarumiです

現在S2DBCPとS2DAOを使用し、
以下のような処理を行っています。

1.トランザクション開始
2. 物理的なコネクションを取得
3. 論理的なコネクションを取得
4.ストアドプロシージャ実行(Temporary TableにデータをInsert)
5. 論理的なコネクションを閉じる
6. 論理的なコネクションを取得
7.Temporary Tableからデータを取得
8. 論理的なコネクションを閉じる
9.トランザクションをコミット

4のTemporaryTableはDBセッション中で
Commit、RollBackのタイミングまで
データを保持する設定になっております。
またトランザクションは「j2ee.requiredTx」に設定しています。

本来ならば
4で追加したデータを7で取得出来るはずなのですが、
現状、7で取得できていません。

通常テーブルに変更すると、7でデータを取得できることから
A.「4と7のDBセッションが違う」もしくは
B.「Temporaryテーブルからデータが取得できない」
という理由のどちらかだと思います。

まずAなのですが、トランザクション中で
別DBセッションになってしまうことはあるのでしょうか?
DBセッションは2の物理コネクションを取得の所以外で、
生成される可能性はあるのでしょうか?

またBですが、TemporaryTableの使用した処理を行っている
方いらっしゃいませんでしょうか?

環境:
DB:Oracle9.0.1
S2DAO:1.0.30

以上、よろしくお願い致します。




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