8.22.33 @NamedNativeQuery
(1) 説明
SQLで名前付きクエリを指定するアノテーションです。エンティティクラスとマップドスーパークラスに適用できます。
適用可能要素は,クラスです。
(2) 属性
@NamedNativeQueryの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
必須 |
名前付きクエリの名前を指定する属性です。 |
|
必須 |
SQLの文字列を指定する属性です。 |
|
任意 |
@QueryHintの配列を指定する属性です。 |
|
任意 |
SQLの結果を反映するクラスを指定する属性です。 |
|
任意 |
@SqlResultSetMappingのname属性で指定した名前を指定する属性です。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
名前付きクエリの名前を指定する属性です。
指定できる値は,文字列です。
- デフォルト値
-
なし
(b) query属性
- 型
-
String
- 説明
-
SQLの文字列を指定する属性です。
指定できるSQLは,使用するデータベースの仕様に依存します。
- デフォルト値
-
なし
(c) hints属性
- 型
-
QueryHint[]
- 説明
-
@QueryHintの配列を指定する属性です。
指定できる値は,@QueryHintの配列で指定できる範囲です。詳細は,「8.22.48 @QueryHint」を参照してください。
- デフォルト値
-
空の配列
(d) resultClass属性
- 型
-
Class
- 説明
-
SQLの結果を反映するクラスを指定する属性です。
resultClass属性は,クエリの実行結果をマッピングしたいクラスがあるときに指定します。resultClass属性とresultSetMapping属性は同時に指定しないでください。
指定できる値は,クラス名です。
- デフォルト値
-
void.class
(e) resultSetMapping属性
- 型
-
String
- 説明
-
結果セットを定義した@SqlResultSetMappingのname属性で指定した名前を指定する属性です。
任意の結果セットにSQLの結果をマッピングしたいときに指定します。
resultClass属性とresultSetMapping属性は同時に指定しないでください。
指定できる範囲は,@SqlResultSetMappingのname属性で指定できる範囲です。詳細は,「8.22.52(2)(a) name属性」を参照してください。
- デフォルト値
-
空の文字列