[Seasar-user:16669] Re: 【S2DAO】同一トランザクション内でのInsert後のSelect
kubo
[E-MAIL ADDRESS DELETED]
2009年 1月 14日 (水) 11:28:34 JST
久保(jflute)です。
> トランザクションを正常に発生させたところ
> 正常に、同一トランザクション内において、Insertしたのち
> Selectが出来ました。
おお、良かったです!
> こちらの確認不足で煩わしてしまい、申し訳ありませんでした。
いえいえ、問題の解決に役に立てたのであればよかったです。
2009/1/14 r. m <[E-MAIL ADDRESS DELETED]>:
> 久保様
>
> トランザクションを正常に発生させたところ
> 正常に、同一トランザクション内において、Insertしたのち
> Selectが出来ました。
>
> こちらの確認不足で煩わしてしまい、申し訳ありませんでした。
>
> 有難うございました。
>
>
>
>> 久保様
>>
>> 度々有難うございます。
>>
>> 「ReadCommitted」であっております。
>>
>> 現在、調査しましたところ、仰るとおり
>> トランザクションが発生しておりませんでした。
>> 確認不足で申し訳ありません。
>>
>> トランザクションが正常に発生するのを確認してから
>> 再度ご連絡致します
>>
>> 誠に失礼致しました。
>>
>>
>> 2009/01/13 12:14 kubo <[E-MAIL ADDRESS DELETED]>:
>>> 久保(jflute)です。
>>>
>>>> トランザクション分離レベルは、通常
>>>
>>> 「通常」というのは、「ReadCommitted」でいいですよね?
>>>
>>>> トランザクションを、Logicの特定のメソッドにのみ適用する
>>>> カスタマイズ(customizer.diconに記述)をしている事や、マルチデータソース化
>>>> していることは、何か関係しますでしょうか?
>>>
>>> トランザクションが利いていないという可能性もあるかもしれません。
>>> Insertして例外発生させてちゃんとロールバックされているかどうか
>>> 確認してみてください。
>>>
>>> また、「マルチデータソース化」と一言に言っても、
>>> 人によっては色々な解釈(仕組みを想像する)があるため、
>>> もう少し具体的に書かれたほうが良いです。
>>>
>>> さらにですが、問題の切り分けをする場合は、
>>> フレームワークを全く使わないパターンで
>>> 試し実装してみて結果がどうなるかを確認すると良いです。
>>>
>>> 2009/1/13 r. m <[E-MAIL ADDRESS DELETED]>:
>>>> 久保様
>>>>
>>>> 確認したところ、DBはOracleで
>>>> トランザクション分離レベルは、通常
>>>> SQL*Plus等では、Insertしたのち、Commitする前に
>>>> Selectが可能なので、同一セッション・トランザクションであれば
>>>> アプリケーションでも同様の結果になると言われました。
>>>>
>>>> トランザクションを、Logicの特定のメソッドにのみ適用する
>>>> カスタマイズ(customizer.diconに記述)をしている事や、マルチデータソース化
>>>> していることは、何か関係しますでしょうか?
>>>>
>>>>
>>>>> 久保様
>>>>>
>>>>> 水澤です。
>>>>> 失礼しました。
>>>>>
>>>>> Select対象は、Insertしたレコードとなります。
>>>>>
>>>>> >トランザクション分離レベル
>>>>> こちらについて、勉強不足であったため、認識外でした。
>>>>> こちら、DBAに確認してみようと思います。
>>>>>
>>>>> おそらく、非コミット読み取りになっていないせいかと思います。
>>>>>
>>>>> 大変勉強になりました。
>>>>>
>>>>> 有難うございます。
>>>>>
>>>>>
>>>>>> 久保(jflute)です。
>>>>>>
>>>>>> こんばんは、水澤さん
>>>>>> もう少し具体的な情報があった方が良いかと思います。
>>>>>>
>>>>>>> S2DAOにて、Insertしたのち、CommitせずにSelectを
>>>>>>> する事は可能でしょうか?
>>>>>>
>>>>>> Insert後にSelectするのは「Insertしたレコード」でしょうか?
>>>>>>
>>>>>>> 現在、同一トランザクション内では、不可能なため
>>>>>>> 一度Commit(一度トランザクションを開始・終了)してから、
>>>>>>> 別トランザクション内にて、Selectしています。
>>>>>>
>>>>>> 対象のデータベースとトランザクション分離レベルは何でしょうか?
>>>>>> 同一トランザクションでInsertしたレコードがSelectできるかどうかは、
>>>>>> 基本的にはフレームワークはあまり関係なく、
>>>>>> データベースとトランザクション分離レベルに依存すると思います。
>>>>>>
>>>>>> 2009/1/12 r. m <[E-MAIL ADDRESS DELETED]>:
>>>>>>> お世話になっております。 水澤です。
>>>>>>>
>>>>>>> S2DAOにて、Insertしたのち、CommitせずにSelectを
>>>>>>> する事は可能でしょうか?
>>>>>>>
>>>>>>> 現在、同一トランザクション内では、不可能なため
>>>>>>> 一度Commit(一度トランザクションを開始・終了)してから、
>>>>>>> 別トランザクション内にて、Selectしています。
>>>>>>>
>>>>>>> Version
>>>>>>> S2DAO 1.0.48
>>>>>>> S2 2.4.26
>>>>>>>
>>>>>>> トランザクションは、Customizer.diconにて
>>>>>>> Logicクラスに張っています。
>>>>>>> また、マルチデータソース化しております。
>>>>>>>
>>>>>>> 宜しくお願いいたします。
>>>>>>> _______________________________________________
>>>>>>> Seasar-user mailing list
>>>>>>> [E-MAIL ADDRESS DELETED]
>>>>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Seasar-user mailing list
>>>>>> [E-MAIL ADDRESS DELETED]
>>>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> Seasar-user mailing list
>>>> [E-MAIL ADDRESS DELETED]
>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内