[Seasar-user:1146] Re: 四択クイズ:ARGSアノテーションに関して
Yasuo Higa
higa
2004年 11月 5日 (金) 18:25:06 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:1145] 四択クイズ:ARGSアノテーションに関して" において、
"Hideaki Maekawa <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> 前川です。
>
> どこに投げるか迷ったのですが、とりあえずMLに。
>
> S2DaoExerciseをしていたら、以下の食い違いを発見してしまいました。
> #ドキュメントの方が正解だったような…
>
動的なSQL文を自動生成させる場合で、引数がEntityやDTOでない場合には、
カラム名を指定する必要があります。
が正解かなぁ。
> ---ドキュメントより
> ARGSアノテーション
>
> メソッドの引数をSQL文で参照できるように、ARGSアノテーションを使用し、
> メソッドの引数名を指定します。メソッドの引数名は、リフレクションで取得
> できないためです。ARGSアノテーションは以下の形式で定数を宣言します。
>
> - public static final String メソッド名_ARGS = "引数名";
>
> ---S2DaoExerciseの解説
> 問題2
>
> 【解説】ARGSアノテーションは以下の形式で宣言します。"テーブルのカラム
> 名"にはメソッドの引数名ではなく、引数に対応するテーブルのカラム名を指
> 定することに注意してください。また、引数が1つの場合、ARGSアノテーショ
> ンは省略することが可能ですが、明示的に指定することを推奨します。
>
> - public static final String メソッド名_ARGS = "テーブルのカラム名";
>
> 1.はメソッドの引数名を指定しているので間違いです。
> 3.は定数名がARGS_メソッド名となっているので間違いです。
> 4.はテーブルのカラム名が定数名で、メソッド名_ARGSが定数値になっているので間違いです。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
Seasar-user メーリングリストの案内