[Seasar-user:20623] Re: [S2Dao]埋め込み変数コメントについて

kubo [E-MAIL ADDRESS DELETED]
2011年 2月 26日 (土) 11:51:03 JST


久保(jflute)です。

ARGS アノテーションが必要に思えるので、
とりあえずはそこを確認してみると良いかと。

// S2Dao - リファレンス - ARGSアノテーション
http://s2dao.seasar.org/ja/s2dao.html#ArgsAnnotation

2011/2/26 magari <[E-MAIL ADDRESS DELETED]>:
> お世話になっております。
> magariと申します。
>
> カラム名を動的に変更させて以下のようなSQL文を作成したく
> (DBにはphone1とmail1は2,3,4...とあります)
> select name, phone1 as phone, mail1 as mail from address where name = 'hoge';
>
> 埋め込み変数コメントとバインド変数コメントを使用して
> 以下のようなSQLアノテーションとselectメソッドを作成しました。
> phoneとmailはペアで同じインデックスを使用します
>
> @Sql(select name, phone/*$no*/ as phone, mail/*$no*/ as mail from address where name = /*name*/)
> public Adress select(int no, String name);
>
> 動作させたところ、埋め込み変数コメントがうまく有効にならず、発行されたSQL文が
> select name, phone as phone, ...
> となっており、phoneというカラムは無いとエラーがでてしまいます。
>
> 引数をDtoにして
> @Sql(select name, phone/*$dto.no*/ as phone, mail/*$dto.no*/ as mail from address where name = /*dto.name*/)
> とすればうまくいきます。
>
> ログを検索してみましたが、いまいち分からず。。。
> 引数を個別の値にした場合の対策方法を教えていただけないでしょうか。
>
> よろしくお願いいたします。
>
> magari
> Mail:[E-MAIL ADDRESS DELETED]
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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