Package org.hibernate.query.internal
Class QueryInterpretationCacheStandardImpl
- java.lang.Object
-
- org.hibernate.query.internal.QueryInterpretationCacheStandardImpl
-
- All Implemented Interfaces:
QueryInterpretationCache
public class QueryInterpretationCacheStandardImpl extends Object implements QueryInterpretationCache
Standard QueryInterpretationCache implementation
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.query.spi.QueryInterpretationCache
QueryInterpretationCache.Key
-
-
Constructor Summary
Constructors Constructor Description QueryInterpretationCacheStandardImpl(int maxQueryPlanCount, Supplier<StatisticsImplementor> statisticsSupplier)
-
Method Summary
-
-
-
Constructor Detail
-
QueryInterpretationCacheStandardImpl
public QueryInterpretationCacheStandardImpl(int maxQueryPlanCount, Supplier<StatisticsImplementor> statisticsSupplier)
-
-
Method Detail
-
getNumberOfCachedHqlInterpretations
public int getNumberOfCachedHqlInterpretations()
- Specified by:
getNumberOfCachedHqlInterpretations
in interfaceQueryInterpretationCache
-
getNumberOfCachedQueryPlans
public int getNumberOfCachedQueryPlans()
- Specified by:
getNumberOfCachedQueryPlans
in interfaceQueryInterpretationCache
-
resolveSelectQueryPlan
public <R> SelectQueryPlan<R> resolveSelectQueryPlan(QueryInterpretationCache.Key key, Supplier<SelectQueryPlan<R>> creator)
- Specified by:
resolveSelectQueryPlan
in interfaceQueryInterpretationCache
-
getNonSelectQueryPlan
public NonSelectQueryPlan getNonSelectQueryPlan(QueryInterpretationCache.Key key)
- Specified by:
getNonSelectQueryPlan
in interfaceQueryInterpretationCache
-
cacheNonSelectQueryPlan
public void cacheNonSelectQueryPlan(QueryInterpretationCache.Key key, NonSelectQueryPlan plan)
- Specified by:
cacheNonSelectQueryPlan
in interfaceQueryInterpretationCache
-
resolveHqlInterpretation
public HqlInterpretation resolveHqlInterpretation(String queryString, Class<?> expectedResultType, Function<String,SqmStatement<?>> creator)
- Specified by:
resolveHqlInterpretation
in interfaceQueryInterpretationCache
-
resolveHqlInterpretation
public HqlInterpretation resolveHqlInterpretation(String queryString, Class<?> expectedResultType, HqlTranslator translator)
- Specified by:
resolveHqlInterpretation
in interfaceQueryInterpretationCache
-
createHqlInterpretation
protected static HqlInterpretation createHqlInterpretation(String queryString, Class<?> expectedResultType, HqlTranslator translator, StatisticsImplementor statistics)
-
resolveNativeQueryParameters
public ParameterInterpretation resolveNativeQueryParameters(String queryString, Function<String,ParameterInterpretation> creator)
- Specified by:
resolveNativeQueryParameters
in interfaceQueryInterpretationCache
-
isEnabled
public boolean isEnabled()
- Specified by:
isEnabled
in interfaceQueryInterpretationCache
-
close
public void close()
Description copied from interface:QueryInterpretationCache
Close the cache when the SessionFactory is closed.Note that depending on the cache strategy implementation chosen, clearing the cache might not reclaim all the memory.
Typically, when using LIRS, clearing the cache only invalidates the entries but the outdated entries are kept in memory until they are replaced by others. It is not considered a memory leak as the cache is bounded.
- Specified by:
close
in interfaceQueryInterpretationCache
-
-