[seasar-s2dao-dev:486] Re: DAO-107の対応

Jundo Ishikawa [E-MAIL ADDRESS DELETED]
2007年 9月 9日 (日) 01:55:01 JST


JUNDUです。

 とりあえず、対応してみました。

07/09/07 に Toshihiro Nakamura<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > DaoMetaDataImpl#setup(Insert/Update/Delete)MethodByAutoで戻り値を判定する
> > 戻り値がint[]なら?新しいバッチコマンドを作る(extends AbstractAutoStaticCommand)
> > 新しいバッチコマンドでは新しいバッチハンドラを使う(extends AbstractAutoHandler?)
> > 新しいバッチハンドラは、戻り値を捨てないで返す

 結局、既存の物を修正する形で対応しました。コンストラクタに1つ引数を
追加してしまったのですが、DBFluteとか影響あったりしますか? 問題あり
そうならコマンドを分けます。

> 戻り値がintのときですが、
> 今までどおりにするというのもありですが、
> int[0]を返してもいいのかなぁと思います。
>
> 今は引数のbean配列のサイズが返っていますが
> この値を利用しているケースがあまり考えられないので
> executeBatch()の戻り値で統一してしまおうということです。

 ここについては、結局更新のあった行数を全部足して返してみました。ただ、
SUCCESS_NO_INFOを無視しているので、Oracleとかで今までと全然違う値になり
ます。

 SUCCESS_NO_INFOの場合、とりあえず1行としてカウントしてもよい気もしま
すが。。。

> > # 戻り値のint[]判定のやり方が分かっていないリフレクション弱者ですが。。。
>
> Class c = method.getReturnType();
> int[].class.isAssignableFrom(c);
>
> とかでしょうか。

 ありがとうございます。参考にさせて頂きました。


-- 
 Jundo Ishikawa <[E-MAIL ADDRESS DELETED]>
         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


seasar-s2dao-dev メーリングリストの案内