private boolean isCachePutEnabled(EntityPersister persister, SharedSessionContractImplementor session) { return persister.canWriteToCache() && !persister.isCacheInvalidationRequired() && session.getCacheMode().isPutEnabled(); }
private static boolean useMinimalPuts(SharedSessionContractImplementor session, EntityEntry entityEntry) { if ( session.getFactory().getSessionFactoryOptions().isMinimalPutsEnabled() ) { return session.getCacheMode() != CacheMode.REFRESH; } else { return entityEntry.getPersister().hasLazyProperties() && entityEntry.getPersister().isLazyPropertiesCacheable(); } }
protected void before() { if ( flushMode != null ) { sessionFlushMode = getSession().getHibernateFlushMode(); getSession().setHibernateFlushMode( flushMode ); } if ( cacheMode != null ) { sessionCacheMode = getSession().getCacheMode(); getSession().setCacheMode( cacheMode ); } }
private boolean isCached(Serializable collectionKey, CollectionPersister persister) { SharedSessionContractImplementor session = context.getSession(); if ( session.getCacheMode().isGetEnabled() && persister.hasCache() ) { CollectionDataAccess cache = persister.getCacheAccessStrategy(); Object cacheKey = cache.generateCacheKey( collectionKey, persister, session.getFactory(), session.getTenantIdentifier() ); return CacheHelper.fromSharedCache( session, cacheKey, cache ) != null; } return false; }
private boolean isCached(EntityKey entityKey, EntityPersister persister) { final SharedSessionContractImplementor session = context.getSession(); if ( context.getSession().getCacheMode().isGetEnabled() && persister.canReadFromCache() ) { final EntityDataAccess cache = persister.getCacheAccessStrategy(); final Object key = cache.generateCacheKey( entityKey.getIdentifier(), persister, session.getFactory(), session.getTenantIdentifier() ); return CacheHelper.fromSharedCache( session, key, cache ) != null; } return false; }
protected void beforeQuery() { if ( optionalId == null ) { getQueryParameterBindings().verifyParametersBound( isCallable() ); } assert sessionFlushMode == null; assert sessionCacheMode == null; if ( flushMode != null ) { sessionFlushMode = getProducer().getHibernateFlushMode(); getProducer().setHibernateFlushMode( flushMode ); } final CacheMode effectiveCacheMode = CacheModeHelper.effectiveCacheMode( cacheStoreMode, cacheRetrieveMode ); if ( effectiveCacheMode != null ) { sessionCacheMode = getProducer().getCacheMode(); getProducer().setCacheMode( effectiveCacheMode ); } }
protected void putResultInQueryCache( final SharedSessionContractImplementor session, final QueryParameters queryParameters, final Type[] resultTypes, final QueryResultsCache queryCache, final QueryKey key, final List result) { if ( session.getCacheMode().isPutEnabled() ) { boolean put = queryCache.put( key, result, key.getResultTransformer().getCachedResultTypes( resultTypes ), session ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatistics().queryCachePut( getQueryIdentifier(), queryCache.getRegion().getName() ); } } }
if ( session.getCacheMode().isGetEnabled() && persister.canUseReferenceCacheEntries() ) { final EntityDataAccess cache = persister.getCacheAccessStrategy(); final Object ck = cache.generateCacheKey(
if ( session.getCacheMode().isGetEnabled() && canReadFromCache() ) { final EntityDataAccess cache = getCacheAccessStrategy(); final Object ck = cache.generateCacheKey( id, this, session.getFactory(), session.getTenantIdentifier() );
List result = null; if ( session.getCacheMode().isGetEnabled() ) { boolean isImmutableNaturalKeyLookup = queryParameters.isNaturalKeyLookup() &&
@Override public void doAfterTransactionCompletion(boolean success, SharedSessionContractImplementor session) throws CacheException { final EntityPersister persister = getPersister(); if ( persister.canWriteToCache() ) { final EntityDataAccess cache = persister.getCacheAccessStrategy(); final Object ck = cache.generateCacheKey( getId(), persister, session.getFactory(), session.getTenantIdentifier() ); if ( success && cacheEntry != null && !persister.isCacheInvalidationRequired() && session.getCacheMode().isPutEnabled() ) { final boolean put = cacheAfterUpdate( cache, ck ); if ( put && getSession().getFactory().getStatistics().isStatisticsEnabled() ) { session.getFactory().getStatistics().entityCachePut( StatsHelper.INSTANCE.getRootEntityRole( persister ), getPersister().getCacheAccessStrategy().getRegion().getName() ); } } else { cache.unlockItem(session, ck, lock ); } } postCommitUpdate( success ); }
&& session.getCacheMode().isPutEnabled() && !ce.isDoremove(); if ( addToCache ) { addCollectionToCache( lce, persister );
persister.getCacheEntryStructure().structure( entry ), version, factory.getSessionFactoryOptions().isMinimalPutsEnabled() && session.getCacheMode()!= CacheMode.REFRESH );
if ( session.getCacheMode().isGetEnabled() && canReadFromCache() && isLazyPropertiesCacheable() ) { final EntityDataAccess cacheAccess = getCacheAccessStrategy(); final Object cacheKey = cacheAccess.generateCacheKey(id, this, session.getFactory(), session.getTenantIdentifier() );
persister.getCacheAccessStrategy().remove( session, ck); else if ( session.getCacheMode().isPutEnabled() ) {
if ( persister.canWriteToCache() && session.getCacheMode().isPutEnabled() ) {
private boolean isCachePutEnabled(EntityTypeDescriptor entityDescriptor, SharedSessionContractImplementor session) { return entityDescriptor.canWriteToCache() && !entityDescriptor.isCacheInvalidationRequired() && session.getCacheMode().isPutEnabled(); }
private CacheMode resolveCacheMode(ExecutionContext executionContext) { CacheMode cacheMode = executionContext.getQueryOptions().getCacheMode(); if ( cacheMode != null ) { return cacheMode; } cacheMode = executionContext.getSession().getCacheMode(); if ( cacheMode != null ) { return cacheMode; } return CacheMode.NORMAL; } }
protected boolean applyJpaCacheStoreMode(CacheStoreMode storeMode) { final CacheMode currentCacheMode = nullif( getCacheMode(), getSession().getCacheMode() ); setCacheMode( CacheModeHelper.interpretCacheMode( storeMode, CacheModeHelper.interpretCacheRetrieveMode( currentCacheMode ) ) ); return true; }
protected boolean applyJpaCacheRetrieveMode(CacheRetrieveMode retrieveMode) { final CacheMode currentCacheMode = nullif( getCacheMode(), getSession().getCacheMode() ); setCacheMode( CacheModeHelper.interpretCacheMode( CacheModeHelper.interpretCacheStoreMode( currentCacheMode ), retrieveMode ) ); return true; }