- すべての実装されたインタフェース:
- java.io.Serializable, ASTNode
public class CacheHint
extends EQLHint
EQLの実行結果のキャッシュを行うヒント句です。
キャッシュのスコープ、キャッシュの有効期間(秒)を指定可能です。
CahceScopeがTRANSACTIONの場合は、同一トランザクション内のみ当該キャッシュが有効です。
CahceScopeがGLOBAL(デフォルト)の場合は、共有キャッシュとなります。
CahceScope.GLOBALの場合は、有効期間(秒)を指定することが可能です。
有効期間(秒)未指定の場合は無期限(デフォルトは無期限に設定。ただし、バックエンドで利用しているCacheStoreの設定で有効期限を設定している場合は、その限り)となります。
CacheScope.GLOBAL利用する際は、Entity定義にてqueryCacheを有効化した上で、EQLのヒント句をつける必要があります。
EQLでの記述例:
select /*+ cache */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
や、
select /*+ cache(transaction) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
や、
select /*+ cache(60) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
- 関連項目:
- 直列化された形式