Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
前 |
次 |
eclipselink.cache-usage
を使用して、問合せとOracle TopLinkキャッシュとの相互作用の方法を指定します。
値
表4-3は、この問合せヒントの有効値を説明しています。
表4-3 org.eclipse.persistence.config.CacheUsageの有効値
Value | 説明 |
---|---|
|
常にデータベースに移動します。 |
|
読取り問合せに主キーのみを比較する式が含まれている場合、メモリー内のオブジェクトに対して式を処理すると、キャッシュ・ヒットを取得できます。 |
|
読取り問合せに少なくとも主キーを比較する式が含まれている場合、メモリー内のオブジェクトに対して式を処理すると、キャッシュ・ヒットを取得できます。 |
|
任意の読取り問合せを構成し、データベースにアクセスする前にキャッシュを完全にチェックできます。 |
|
任意のすべて読取り問合せを構成し、親セッション・キャッシュ(共有キャッシュ)のみをチェックして、データベースにアクセスせずにその問合せからの結果を返すことができます。 |
|
任意の読取り問合せまたはすべて読取り問合せを作業ユニットのコンテキスト内で構成し、作業ユニット内でオブジェクトに加えられた変更に結果を一致させることができます。これには、新規オブジェクト、削除されたオブジェクト、および変更されたオブジェクトが含まれます。 |
|
(デフォルト)このエンティティにEclipseLinkディスクリプタAPIで指定されたキャッシュ構成を使用します。 注意: エンティティのデフォルト値では、キャッシュはチェックされません( |
使用方法
Oracle TopLink JPAでは、永続性ユニット全体からアクセスされる共有キャッシュを使用します。特定の永続性コンテキストで操作を完了すると、Oracle TopLinkにより結果が共有キャッシュにマージされ、これにより、エンティティ・マネージャおよび永続性コンテキストがJava SEまたはJava EEで作成されたものであるかどうかにかかわらず、他の永続性コンテキストで結果を使用できるようになります。
エンティティ・マネージャを使用して永続化または削除されたすべてのエンティティは、常に、一貫してキャッシュで保持されます。
例
例4-7に、JPA問合せでこのヒントを使用する方法を示します。
例4-7 JPA問合せでのcache-usageの使用
import org.eclipse.persistence.config.CacheUsage; import org.eclipse.persistence.config.QueryHints; query.setHint(QueryHints.CACHE_USAGE, CacheUsage.CheckCacheOnly);
例4-8に、@QueryHint
注釈でこのヒントを使用する方法を示します。
例4-8 @QueryHint注釈でのcache-usageの使用
import org.eclipse.persistence.config.CacheUsage; import org.eclipse.persistence.config.TargetDatabase; @QueryHint(name=QueryHints.CACHE_USAGE, value=CacheUsage.CheckCacheOnly);
関連項目
詳細は、次を参照してください。
『Oracle TopLinkの理解』のOracle TopLinkキャッシュに関する項
『Oracle TopLinkソリューション・ガイド』の問合せに関する項
『Oracle TopLinkソリューション・ガイド』のパフォーマンスの拡張に関する項