ロールバック操作後のキャッシュの内容消去の防止

Oracle ADF Business Componentsでは、問合せが再実行され、他のトランザクションで実行された変更がただちに参照可能となるようにするため、デフォルトでrollback()へのコール後にエンティティ・キャッシュおよびビュー・キャッシュの内容が消去されます。ただし、問合せの再実行を防止する場合は、setClearCacheOnRollback()をコールして、各コミット操作後にキャッシュの内容を消去できます。

注意: キャッシュの内容が消去されない場合、キャッシュは回復されるため、そのトランザクション内での変更は取消可能です。

ロールバック操作後の、キャッシュの内容の消去を防止するには、次のようにします。

  1. トランザクション・オブジェクトを取得します。
  2. オブジェクトに対して、setClearCacheOnRollback(false)をコールします。

    currentTrans.setClearCacheOnRollback(false);

    後続のrollback()へのコールによってキャッシュの内容が消去されることはありません。ロールバック操作でのキャッシュの内容消去を再開するためには、そのトランザクションに対してsetClearCacheOnRollback(true)をコールします。


ロールバック・サイクルのカスタマイズ
トランザクションのコミット
トランザクション・オブジェクトについて
Oracle ADF Business Componentsのキャッシュ管理について

 

Copyright © 1997, 2004, Oracle. All rights reserved.