8.16.5 クエリヒントの指定
クエリ実行時に,ベンダに依存するヒントとしてクエリヒントを指定できます。CJPAプロバイダでは,悲観的ロックを使用するときに指定します。
クエリヒントは次に示す場所に指定します。
-
QueryオブジェクトのsetHint()メソッドの引数
-
@NamedQueryの引数の@Hint
-
O/Rマッピングファイルの<named-query>タグの下位要素である<hint>タグ
クエリヒントに指定できる範囲以外の値が設定された場合は例外が発生します。なお,指定する値は大文字と小文字を区別しません。
例外が発生するタイミングは,クエリヒントが指定された個所によって異なります。次に例外発生のタイミングを示します。
-
setHint()メソッドの場合,アプリケーションのクエリ実行時
-
アノテーションの場合,デプロイ時
-
O/Rマッピングファイルの場合,アプリケーション開始時
CJPAプロバイダがサポートするクエリヒントについては,アノテーションを使用する場合は「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」,O/Rマッピングファイルを使用する場合は「12.3 O/Rマッピングファイル」を参照してください。