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