2.7.33 @NamedNativeQuery

<この項の構成>
(1) 説明
(2) 属性

(1) 説明

SQLで名前付きクエリを指定するアノテーションです。エンティティクラスとマップドスーパークラスに適用できます。

適用可能要素は,クラスです。

(2) 属性

@NamedNativeQueryの属性の一覧を次の表に示します。

属性名任意/必須属性の説明
name必須名前付きクエリの名前を指定する属性です。
query必須SQLの文字列を指定する属性です。
hints任意@QueryHintの配列を指定する属性です。
resultClass任意SQLの結果を反映するクラスを指定する属性です。
resultSetMapping任意@SqlResultSetMappingのname属性で指定した名前を指定する属性です。

CJPAプロバイダで対応する属性の詳細を次に示します。

(a) name属性
String
説明
名前付きクエリの名前を指定する属性です。
指定できる値は,文字列です。
デフォルト値
なし
(b) query属性
String
説明
SQLの文字列を指定する属性です。
指定できるSQLは,使用するデータベースの仕様に依存します。
デフォルト値
なし
(c) hints属性
QueryHint[]
説明
@QueryHintの配列を指定する属性です。
指定できる値は,@QueryHintの配列で指定できる範囲です。詳細は,「2.7.53 @QueryHint」を参照してください。
デフォルト値
空の配列
(d) resultClass属性
Class
説明
SQLの結果を反映するクラスを指定する属性です。
resultClass属性は,クエリの実行結果をマッピングしたいクラスがあるときに指定します。resultClass属性とresultSetMapping属性は同時に指定しないでください。
指定できる値は,クラス名です。
デフォルト値
void.class
(e) resultSetMapping属性
String
説明
結果セットを定義した@SqlResultSetMappingのname属性で指定した名前を指定する属性です。
任意の結果セットにSQLの結果をマッピングしたいときに指定します。
resultClass属性とresultSetMapping属性は同時に指定しないでください。
指定できる範囲は,@SqlResultSetMappingのname属性で指定できる範囲です。詳細は,「2.7.57(2)(a) name属性」を参照してください。
デフォルト値
空の文字列