[Seasar-user:13008] Re: [DBFlute]SqlLogRegist ry について
kubo
[E-MAIL ADDRESS DELETED]
2008年 2月 22日 (金) 22:02:01 JST
久保です。
米原さん、こんばんは
取り急ぎ確認させて下さい。
batchUpdate()の実行時のSQLのログで、
Where句に排他制御用の条件が付与されていますか?
(ex. WHERE BOOK_ID = 2 AND U_TIMESTAMP = '2007...')
また、batchUpdate()の戻り値は何が入っていますでしょうか?
int[]の中身をご確認お願いします。
2008/2/22 <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になっております。
> 米原です。
>
> 久保さん、ご回答ありがとうございます。
>
>
>
> >アプリケーション起動時に以下の1行を実行して下さい。
> >// Containerの初期化後に
> >SqlLogRegistryLocator.setInstance(new SqlLogRegistryImpl());
>
> ありがとうございます。 確認してみます。
>
>
>
>
>
> >> batchXxx()の排他制御について
> >正確には、S2Dao-1.0.47の場合にのみ、認識の通りであります。
> >(以前のバージョンではどうしても実現できなかったため)
>
> DBFlute0.6.4、S2Dao-1.0.47にてDAOを作成して、確認した
> のですが、batchUpdateにて、楽観的排他時にExceptionを発生
> させれませんでした。
> こちらの使い方の間違いかもしれず、恐縮ですが、
> もしお気づきのことがありましたら、ご指摘頂けないでしょうか?
>
>
> ◆通常のupdate
> 以下、楽観的排他時にEntityAlreadyUpdatedExceptionが発生する
> *************************************************************
> //楽観的排他用に更新日時を設定
> utime = aDto.getUtime();
> entity.setUpdNitijiUs(utime);
>
> // UPDATE実行
> try {
> behavior.update(entity);
> } catch (Exception e) {
> return "SUCCESS_1";
> }
> *************************************************************
>
>
>
> ◆batchUpdateの場合
> 以下、同様の操作で楽観的排他時にEntityAlreadyUpdatedExceptionが発生しない(Exceptionでcatchしない)
> *************************************************************
> //楽観的排他用に更新日時を設定
> utime = aDto.getUtime();
> entity.setUpdNitijiUs(utime);
>
> //Listの作成
> List<Entity> entityList = new ArrayList() ;
> entityList.add(0,entity);
>
> // UPDATE実行
> try {
> behavior.batchUpdate(entityList);
> } catch (Exception e) {
> return "SUCCESS_1";
> }
> *************************************************************
>
> お忙しいところすみません。。
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内