アノテーション一覧
DAOインタフェースやDTOに指定可能なアノテーションの一覧です.
- @Distinctアノテーション
- @FetchJoinアノテーション
- @FetchJoinsアノテーション
- @FirstResultアノテーション
- @FlushModeアノテーション
- @Hintアノテーション
- @Hintsアノテーション
- @MaxResultsアノテーション
- @NamedParameterアノテーション
- @Orderbyアノテーション
- @PoisitionalParameterアノテーション
- @QueryNameアノテーション
- @TargetEntityアノテーション
- @TemporalSpecアノテーション
@Distinctアノテーション
生成されるJPQLのSELECT句にDISTINCTを指定します.
1対多・多対多の関連をFETCH JOINする場合に,結果リストから重複を取り除くことができます.
- 対象
- Daoメソッド (Named Query・SQL Queryを除く)
- 指定方法
@Distinct
@FetchJoinアノテーション
生成するJPQLのFROM句でFETCH JOINを指定します.
- 対象
- Daoメソッド (Named Query・SQL Queryを除く)
- 指定方法
@FetchJoin( value = "relationshipName", joinSpec = JoinSpec.INNER_JOIN )value- FETCH JOINする関連名を指定します.
joinSpec-
FETCH JOINする方法を指定します.
JoinSpec.INNER_JOINまたはJoinSpec.LEFT_OUTER_JOINを 指定することができます. デフォルトはJoinSpec.INNER_JOINです.
@FetchJoinsアノテーション
生成するJPQLのFROM句にFETCH JOINを複数指定します.
- 対象
- Daoメソッド (Named Query・SQL Queryを除く)
- 指定方法
@FetchJoins( {@FetchJoin(...), @FetchJoin(...)} )value@FetchJoinアノテーションを任意の数指定することができます.
@FirstResultアノテーション
引数またはDTOのプロパティでページングを指定する際に,
最初の位置を指定する引数またはプロパティをfirstResult以外の
名前にする場合に指定します.
- 対象
- Daoメソッドの引数
- DTOのプロパティのgetterメソッド
- 指定方法
@FirstResult
@FlushModeアノテーション
問い合わせのフラッシュ・モードを指定します.
FlushModeType.AUTOを指定した場合,または指定しなかった場合は,
EntityManagerのフラッシュ・モードに従います.
FulshModeType.COMMITを指定した場合は問い合わせの前に永続コンテキストを同期化するための
フラッシュは行われません.
- 対象
- Daoメソッド
- 指定方法
@FulshMode(FulshModeType.COMMIT)
value-
フラッシュ・モードを指定します.
FlushModeType.AUTOまたはFlushModeType.COMMITを 指定することができます.
@Hintアノテーション
問い合わせのヒントを指定します.
- 対象
- Daoメソッド (Named Query・SQL Queryを除く)
- 指定方法
@Hint( name = "hintName", value = "hintValue" )
name- ヒントの名前を指定します.
value- ヒントの値をOGNL式で指定します. 文字列値を指定する場合はダブルクオートで囲む必要があります.
@Hintsアノテーション
問い合わせのヒントを複数指定します.
- 対象
- Daoメソッド (Named Query・SQL Queryを除く)
- 指定方法
@Hints( {@Hint(...), @Hint(...)} )value@Hintアノテーションを任意の数指定することができます.
@MaxResultsアノテーション
引数またはDTOのプロパティでページングを指定する際に,
最大件数を指定する引数またはプロパティをmaxResults以外の
名前にする場合に指定します.
- 対象
- Daoメソッドの引数
- DTOのプロパティのgetterメソッド
- 指定方法
@MaxResults
@NamedParameterアノテーション
Kuina-Daoが特別扱いする
firstResult・maxResults・orderbyという名前の
引数またはDTOのプロパティをパラメータとして使用する場合に指定します.
- 対象
- Daoメソッドの引数
- DTOのプロパティのgetterメソッド
- 指定方法
@NamedParameter
@Orderbyアノテーション
このアノテーションは二種類の用途に使われます.
実行時に変わらない,静的なソート順を指定するためにDaoメソッドに指定します.
実行時に動的に変わる,動的なソート順を引数またはDTOのプロパティで指定する際に,
ソート順を指定する引数またはプロパティをorderby以外の名前にする場合に指定します.
静的なソート順と動的なソート順は同時に指定することができます. その場合,生成されるJPQLのORDER BY句は静的なソート順で指定された項目の後に 動的なソート順で指定された項目が続きます.
- 対象
- Daoメソッド (静的なソート順)
- Daoメソッドの引数 (動的なソート順)
- DTOのプロパティのgetterメソッド (動的なソート順)
- 指定方法
@Orderby("name, saraly DESC")value- 静的なソート順をJPQLのORDER BY句と同じ構文で指定します.
@PoisitionalParameterアノテーション
JPQLによる検索において,Named ParameterではなくPositional Parameterを使う場合に指定します.
- 対象
- Daoメソッド(SQL Queryを除く)
- 指定方法
@PositionalParameter
@QueryNameアノテーション
JPQLによる検索において,Named Queryの名前を明示的に指定する場合に指定します.
- 対象
- Daoメソッド(Named Queryのみ)
- 指定方法
@QueryName("queryName")value- Named Queryの名前を指定します.
@TargetEntityアノテーション
検索対象のエンティティを明示的に指定します.
- 対象
- Daoインタフェース
- Daoメソッド
- 指定方法
@TargetEntity(Employee.class)
value- エンティティのクラスを指定します.
@TemporalSpecアノテーション
検索条件でjava.util.Dateまたはjava.util.Calendarを指定する場合に,
時制を指定します.
@TemporalSpecアノテーションを指定しなかった場合はTemporalType.DATEが
使用されます.
- 対象
- Daoメソッドの引数
- DTOのプロパティのgetterメソッド
- 指定方法
@TemporalSpec(TemporalType.DATE)
value-
時制を指定します.
TemporalType.DATE・TemporalType.DATE・TemporalType.DATEの いずれかを指定することができます.
