[Seasar-user:15100] Re: 【S2DAO】バインド変数を用いたSQLについて
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 7月 19日 (土) 18:41:01 JST
中村(taedium)です。
> -------------TestDao---------------
> @Query("COL1 IN /*arg1*/('test','test1') AND COL2 = /*arg2*/9")
> public XXXEntity selectCondition(String[] arg1, Integer arg2)
>
> -------------呼び出し--------------
> String[] arg1 = {"aaa", "bbb"};
> Integer arg2 = new Integer(1);
> dao.selectCondition(arg1, arg2)
>
>
> この様にDAOを作成し、実行すると
>
> WHERE COL1 IN AND COL2 = null
>
> となってしまい、正常なSQLが作成されません。
@Argumentsの指定が抜けているからだと思います。
次のようにDaoのメソッド定義にアノテーションを付け加えれば
大丈夫です。
@Arguments( { "arg1", "arg2" })
@Query("COL1 IN /*arg1*/('test','test1') AND COL2 = /*arg2*/9")
public XXXEntity selectCondition(String[] arg1, Integer arg2)
--
Toshihiro Nakamura
Seasar-user メーリングリストの案内