[Seasar-user:10980] Re: [Teeda] 1.0.12-EA1-SNAPSHOT

kubo [E-MAIL ADDRESS DELETED]
2007年 10月 13日 (土) 01:54:20 JST


久保です。

> > こちらを使ってみたのですが,以下のようにDBFluteからs2-extensionのBasicHandlerのbindArgsでヌルポになっていますが,なんとかなりますですでしょうか?
> 
> Seasar2.4.18 の SNAPSHOT も使ってます?
> 加藤さん宛の[Seasar-user:10974] では Seasar2.4.18 を
> 使うようには書いてないのですが.
> 
> 必要がなければ,Seasar2 は 2.4.17 などを
> 使ってください.
> 
> [Seasar-user:10975] に書いた,ネストした forEach の
> 更新や,List<T> を使った更新のために Seasar2.4.18 と
> S2Dao 1.0.47 を使っているのなら,DBFlute が対応
> しているかどうかは久保さんに確認かなぁ.

少なくとも今リリースされているDBFlute-0.5.5では
S2Dao 1.0.47には対応してません。

最新のDBFlute-0.5.6-RC3では
  Seasar2.4.17 + S2Dao 1.0.47-SNAPSHOT(最新)
で、動作確認は取れています。(2.4.18はまだ未確認)



ヌルポの発生箇所ですが、

    【BasicHandler】
    ValueType valueType = getValueType(argTypes[i]);
    try {
        valueType.bindValue(ps, i + 1, args[i]); // ★

valueTypeがnullではないかと思えるところです。
どうやら10月11日にValueTypes.getValueType(clazz);が
nullを返すように変更されているみたいで、それが原因のようです。
ちょっとDBFlute側の対応は考え中です。

ただ、そのメソッドがnullを返す仕様ということであれば、
上記の部分ではnullチェックをして、
  ・bindValue()の処理を肩代わりするか
  ・argTypes[i]の型が不明であることを告げる例外を発生させる
どちらか必要なのではないでしょうか?
>S2Containerコミッタ様








Seasar-user メーリングリストの案内