[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 メーリングリストの案内