[Seasar-user:1146] Re: 四択クイズ:ARGSアノテーションに関して
Yasuo Higa
higa
2005年 4月 6日 (水) 01:08:26 JST
<20041105175809.291E.MAEKAWA @ frdm.co.jp> の、
"[Seasar-user:1145] 四択クイズ:ARGSアノテーションに関して" において、
"Hideaki Maekawa <maekawa @ frdm.co.jp>"さんは書きました:
ひがです。
> 前川です。
>
> どこに投げるか迷ったのですが、とりあえず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 <higa @ isid.co.jp>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
Seasar-user メーリングリストの案内