クラス CacheHint
java.lang.Object
org.iplass.mtp.entity.query.hint.Hint
org.iplass.mtp.entity.query.hint.EQLHint
org.iplass.mtp.entity.query.hint.CacheHint
- すべての実装されたインタフェース:
Serializable
,ASTNode
EQLの実行結果のキャッシュを行うヒント句です。
キャッシュのスコープ、キャッシュの有効期間(秒)を指定可能です。
CahceScopeがTRANSACTIONの場合は、同一トランザクション内のみ当該キャッシュが有効です。 CahceScopeがGLOBAL(デフォルト)の場合は、共有キャッシュとなります。 CahceScope.GLOBAL、CahceScope.GLOBAL_KEEP、CahceScope.GLOBAL_RELOADの場合は、有効期間(秒)を指定することが可能です。 有効期間(秒)未指定の場合は無期限(デフォルトは無期限に設定。ただし、バックエンドで利用している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
select /*+ cache(keep, 60) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
select /*+ cache(reload, 60) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
CahceScopeがTRANSACTIONの場合は、同一トランザクション内のみ当該キャッシュが有効です。 CahceScopeがGLOBAL(デフォルト)の場合は、共有キャッシュとなります。 CahceScope.GLOBAL、CahceScope.GLOBAL_KEEP、CahceScope.GLOBAL_RELOADの場合は、有効期間(秒)を指定することが可能です。 有効期間(秒)未指定の場合は無期限(デフォルトは無期限に設定。ただし、バックエンドで利用している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
select /*+ cache(keep, 60) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
select /*+ cache(reload, 60) */ a, b from SampleEntity where c.x='hoge' and a=1 and b=15
- 関連項目:
-
ネストされたクラスの概要
-
コンストラクタの概要
-
メソッドの概要
修飾子とタイプメソッド説明accept
(ASTTransformer transformer) void
accept
(HintVisitor visitor) boolean
getScope()
int
getTTL()
int
hashCode()
void
setScope
(CacheHint.CacheScope scope) キャッシュのスコープを指定。void
setTTL
(int ttl) CacheScope.GLOBALの場合のキャッシュの有効期間(秒)を指定。toString()
クラスから継承されたメソッド org.iplass.mtp.entity.query.hint.Hint
externalHint
-
コンストラクタの詳細
-
CacheHint
public CacheHint() -
CacheHint
-
CacheHint
-
-
メソッドの詳細
-
getScope
-
setScope
キャッシュのスコープを指定。TRANSACTION or GLOBALを指定可能。 デフォルトはGLOBAL。- パラメータ:
scope
-
-
getTTL
public int getTTL() -
setTTL
public void setTTL(int ttl) CacheScope.GLOBALの場合のキャッシュの有効期間(秒)を指定。 未指定、0以下の場合は無限。- パラメータ:
ttl
-
-
accept
-
accept
-
hashCode
public int hashCode() -
equals
-
toString
-