Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


12.4 クエリヒント

CJPAプロバイダでは,O/Rマッピングファイルのnamed-query要素の下位要素であるhint要素にクエリヒントを指定できます。なお,クエリヒントは,@NamedQueryアノテーションの引数の@Hintアノテーションにも指定できます。アノテーションに指定するクエリヒントについては,「8.22.48 @QueryHint」を参照してください。

O/Rマッピングファイルのnamed-query要素の下位要素であるhint要素に指定できるクエリヒントを次の表に示します。

表12‒68 CJPAプロバイダで使用できるクエリヒント

キー名称

説明

指定可能値

デフォルト

cosminexus.jpa.pessimistic-lock

悲観的ロックを使用するかどうかを指定します。

NoLock

悲観的ロックを使用しません。

Lock

悲観的ロックを使用します。

対象となるテーブルがすでにロックされている場合,解放されるまで待ちます。

  • Oracleの場合

    SELECT … FOR UPDATEを発行します。

  • HiRDBの場合

    SELECT … WITH EXCLUSIVE LOCKを発行します。

LockNoWait

悲観的ロックを使用します。

対象となるテーブルがすでにロックされている場合,例外が発生します。

  • Oracleの場合

    SELECT … FOR UPDATE NO WAITを発行します。

  • HiRDBの場合

    SELECT … WITH EXCLUSIVE LOCK NO WAITを発行します。

NoLock

注 指定できるデータ型はStringです。

注意事項

O/Rマッピングファイルに指定したクエリヒントに,指定可能範囲外の値が設定された場合は,アプリケーションを開始したタイミングで例外が発生します。なお,値の大文字と小文字は区別しません。