[Seasar-user:19698] [S2JDBC]SQLファイル使用時の挙動について
Manabu Inoue
[E-MAIL ADDRESS DELETED]
2010年 5月 7日 (金) 04:12:51 JST
お世話になります。
井上と申します。
S2JDBCのSQLファイル使用時の挙動について質問させていただけますでしょうか?
バインドパラメータに Mapを使用した場合に、
SQLファイル内のバインド変数がMapに存在しない場合は
「引数(変数名)が見つかりません」というWARNログが出力されます。
また、上記の場合でかつ、Map内のエントリが1つの場合、
SQLファイルのすべてのバインド変数に、変数名が異なるにもかかわらず
Map内の1つのエントリの値がセットされます。
以下のサイトに書かれているものと同じ現象です。
http://blog.magellanic.net/archives/443
デバッグして確認したところ、
org.seasar.extension.sql.context.SqlContextImpl#getArg
の中で上記の処理が記述されているようです。
上記の挙動はS2JDBCの仕様でしょうか?
該当するバインドパラメータがない場合にWARNログが出力されるのは
利用者としては、設定ミスに気づく上でいいと思いますが、
(とはいえ、map.put("xxx", null);を書かなければならないのは
少し面倒ですが、、、)
該当パラメータが1つだけの場合に全部そのパラメータの値になってしまうのは
気持ち悪いのですが。。。
環境
Seasar2.4.41
以上、よろしくお願いいたします。
--
Manabu Inoue <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内