ロックは、2人のユーザーが同一の行を互いに異なる2通りの方法で変更した結果発生する、データの競合を防止するRDBMS機能です。Oracle ADF Business Componentsには、データベース行に対して自動的にロックを取得する機能があります。自動ロックの詳細は、「ロック・モードについて」を参照してください。
デフォルトでは、アプリケーション・モジュールではトランザクションに対して即時ロック・モードが使用されます。このデフォルトはアプリケーション・モジュールの構成で変更、またはコードでオーバーライドできます。
アプリケーション・モジュールの構成でロック・モードを変更するには、次のようにします。
jbo.locking.mode
を検索します。
pessimistic
、optimistic
またはnone
に変更します。
ロック・モードをコードで変更するには、次のようにします。
setLockingMode()
をコールします。次の3つの定数のいずれかを渡します。
Transaction.LOCK_OPTIMISTIC
: コミット時ロック・モードを使用する場合
Transaction.LOCK_PESSIMISTIC
: 即時ロック・モードを使用する場合
Transaction.LOCK_NONE
: 手動ロック・モードを使用する場合
たとえば、トランザクションcurrentTrans
に対してコミット時ロック・モードを使用する場合は、次のコードを使用します。
currentTrans.setLockingMode(Transaction.LOCK_OPTIMISTIC);
Copyright © 1997, 2006, Oracle. All rights reserved.