Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
eclipselink.pessimistic-lock
を使用して、Oracle TopLinkでペシミスティック・ロックを使用するかどうかを指定します。
値
表4-25は、この問合せヒントの有効値を説明しています。
表4-25 org.eclipse.persistence.config.PessimisticLockの有効値
Value | 説明 |
---|---|
|
(デフォルト)ペシミスティック・ロックは使用されません。 |
|
Oracle TopLinkにより、 |
|
Oracle TopLinkにより、 |
使用方法
ペシミスティック・ロックを使用する主な利点は、ロックが取得されると、編集が正常に行われることが保証される点です。これは、オプティミスティック・ロックが原因で多数のオプティミスティック・ロック・エラーが発生する可能性がある高並列アプリケーションにおいて有用です。
ペシミスティック・ロックの短所の1つは、このロックでは追加のデータベース・リソースが必要となるため、編集中にデータベースのトランザクションと接続を保持する必要があるという点です。また、ペシミスティック・ロックがデッドロックの原因となり、同時実行性の問題が発生する場合もあります。
例
例4-50に、JPA問合せでこのヒントを使用する方法を示します。
例4-50 JPA問合せでのpessimistic-lockの使用
import org.eclipse.persistence.config.PessimisticLock; import org.eclipse.persistence.config.QueryHints; query.setHint(QueryHints.PESSIMISTIC_LOCK, PessimisticLock.LockNoWait);
例4-51に、@QueryHint
注釈でこのヒントを使用する方法を示します。
例4-51 @QueryHint注釈でのpessimistic-lockの使用
import org.eclipse.persistence.config.PessimisticLock; import org.eclipse.persistence.config.QueryHints; @QueryHint(name=QueryHints.PESSIMISTIC_LOCK, value=PessimisticLock.LockNoWait);
関連項目
詳細は、次を参照してください。
『Oracle TopLinkソリューション・ガイド』のクラスタ内のTopLinkアプリケーションのスケーリングに関する項
『Oracle TopLinkの理解』の問合せの理解に関する項
『Oracle TopLinkの理解』のTopLinkプロジェクトのビルディング・ブロックに関する項