ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

flush-clear.cache

eclipselink.flush-clear.cacheを使用して、flushメソッドに続いてclearメソッドが実行された場合のTopLink EntityManagerキャッシュの動作を指定します。

表5-36は、この永続性プロパティの値を説明しています。

表5-36 flush-clear.cacheの有効値

Value 説明

Drop

TopLinkによって、EntityManagerキャッシュ全体が削除されます。

これは最速のモードであり、メモリーの使用は最小となりますが、コミットを実行した後、共有キャッシュに含まれるデータが失効する可能性があります。

DropInvalidate

TopLinkによって、EntityManagerキャッシュ全体が削除されます。コミットを実行した後、更新または削除されたオブジェクトが少なくとも1つ含まれるクラスは、共有キャッシュで無効になります。

このモードはDropよりも低速になりますが、(メモリーの使用量という点では)効率的であり、データの失効が回避されます。

Merge

TopLinkによって、EntityManagerキャッシュの、フラッシュされていないオブジェクトが削除されます。

このモードでは、コミットを実行した後、共有キャッシュが完全な状態に維持されますが、メモリー効率は最も低下します。非常に大規模なトランザクションでは、メモリーが不足する場合があります。


使用方法

このプロパティは、EntityManagerFactoryを作成するときに(createEntityManagerFactoryメソッドに渡すマップやpersistence.xmlファイルに)指定するか、またはEntityManagerを作成するときに(createEntityManagerメソッドに渡すマップに)指定できます。

前者は後者によってオーバーライドされることに注意してください。

例5-25に、persistence.xmlファイルでこの永続性プロパティの拡張機能を使用する方法を示します。

例5-25 persistence.xmlでのflush-clear.cacheの使用

<property name="eclipselink.flush-clear.cache" value="Drop"/>

例5-26に、プロパティ・マップでこの拡張機能を使用する方法を示します。

例5-26 プロパティ・マップでのflush-clear.cacheの使用

import org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.FLUSH_CLEAR_CACHE, FlushClearCache.Drop);

関連項目

詳細は、次を参照してください。