ロック・モードの変更

ロックは、2人のユーザーが同一の行を互いに異なる2通りの方法で変更した結果発生する、データの競合を防止するRDBMS機能です。Oracle ADF Business Componentsには、データベース行に対して自動的にロックを取得する機能があります。自動ロックの詳細は、「ロック・モードについて」を参照してください。

デフォルトでは、アプリケーション・モジュールではトランザクションに対して即時ロック・モードが使用されます。このデフォルトはアプリケーション・モジュールの構成で変更、またはコードでオーバーライドできます。

アプリケーション・モジュールの構成でロック・モードを変更するには、次のようにします。

  1. システム・ナビゲータまたはアプリケーション・ナビゲータで、アプリケーションの最上位のアプリケーション・モジュールを右クリックし、「構成」を選択します。
  2. Configuration Managerで、アプリケーションで使用する構成を選択し、「編集」をクリックします。
  3. 「Oracle Business Componentの構成」ダイアログで、「プロパティ」タブを選択します。
  4. プロパティjbo.locking.modeを検索します。
  5. 値をpessimisticoptimisticまたはnoneに変更します。

ロック・モードをコードで変更するには、次のようにします。

  1. トランザクション・オブジェクトを取得します。
  2. トランザクション・オブジェクトに対してsetLockingMode()をコールします。次の3つの定数のいずれかを渡します。

    たとえば、トランザクションcurrentTransに対してコミット時ロック・モードを使用する場合は、次のコードを使用します。

    currentTrans.setLockingMode(Transaction.LOCK_OPTIMISTIC);


行のロック
行の手動ロック