[Seasar-user:7838] Re: [DBFlute,S2DAO]Re: 楽観的排他制御について
kubo
[E-MAIL ADDRESS DELETED]
2007年 5月 26日 (土) 00:04:12 JST
米原さん、こんばんわ
久保です。
> >優先度的にupdateを先に実装してました。
> >deleteもやりましょう。
> >ちょっと実現可能性を見てみますね。(内部処理的に少しだけややこしいもので...)
>
> ありがとうございます!
> あと1つ仕様について確認させて頂きたいのですが、updateList,deleteListは、0件更新でもexceptionが発生しない
> 仕様=楽観的排他制御は行えない、という認識でよかった
> でしょうか?
> (なので、楽観的排他制御を行いたい場合はupdate、deleteを
> ループさせなればならないということで。。)
試してないので恐縮ですが、
UpdateBatchAutoStaticCommand#setupSql()を見る限り、
Where句にはVersionNo/Timestampの条件は付与しているようです。
なので、問答無用での上書きはしない模様ですが、
確かに0件でも例外は発生しないようですね。
http://ml.seasar.org/archives/seasar-user/2007-February/008206.html
JDBC関連の制約のようです
updateList()/deleteList()はDBFluteの内部拡張一切無いので、
S2Daoの仕様となります。
Batch更新はPerformance考慮のための機能なので、
現状では、
1件1件しっかり排他制御したい、かつ、よほど件数が多いというのでない
のであれば、ループでの処理でも構わないかと思います。が、どうでしょう?
Seasar-user メーリングリストの案内