public static String getRegionName(SessionFactory sessionFactory, Class entityClass) { EntityPersister p = ((SessionFactoryImpl) sessionFactory).getEntityPersister(entityClass.getName()); if (p.hasCache()) { return p.getCacheAccessStrategy().getRegion().getName(); } return ""; } }
@Override public boolean afterInsert(Object session, Object key, Object value, Object version) throws CacheException { return unwrapEntity().afterInsert(unwrap(session), key, value, version); }
@Override public boolean afterUpdate(Object session, Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock) throws CacheException { return unwrapEntity().afterUpdate(unwrap(session), key, value, currentVersion, previousVersion, lock); }
persister.getRootEntityName() ); lock = persister.getCacheAccessStrategy().lockItem( ck, previousVersion ); persister.getCacheAccessStrategy().remove( ck ); ); cacheEntry = persister.getCacheEntryStructure().structure( ce ); boolean put = persister.getCacheAccessStrategy().update( ck, cacheEntry, nextVersion, previousVersion ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor().secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() );
@Override public void doAfterTransactionCompletion(boolean success, SessionImplementor session) throws CacheException { EntityPersister persister = getPersister(); if ( persister.hasCache() ) { final CacheKey ck = getSession().generateCacheKey( getId(), persister.getIdentifierType(), persister.getRootEntityName() ); if ( success && cacheEntry!=null /*!persister.isCacheInvalidationRequired()*/ ) { boolean put = persister.getCacheAccessStrategy().afterUpdate( ck, cacheEntry, nextVersion, previousVersion, lock ); if ( put && getSession().getFactory().getStatistics().isStatisticsEnabled() ) { getSession().getFactory().getStatisticsImplementor().secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() ); } } else { persister.getCacheAccessStrategy().unlockItem( ck, lock ); } } postCommitUpdate(); }
persister.getCacheAccessStrategy().update( cacheKey, persister.getCacheEntryStructure().structure( entry ), boolean put = persister.getCacheAccessStrategy().putFromLoad( cacheKey, persister.getCacheEntryStructure().structure( entry ), factory.getStatisticsImplementor().secondLevelCachePut( persister.getCacheAccessStrategy().getRegion().getName() );
@Override public void doAfterTransactionCompletion(boolean success, SessionImplementor session) throws HibernateException { EntityPersister persister = getPersister(); if ( success && isCachePutEnabled( persister, getSession() ) ) { final CacheKey ck = getSession().generateCacheKey( getId(), persister.getIdentifierType(), persister.getRootEntityName() ); boolean put = persister.getCacheAccessStrategy().afterInsert( ck, cacheEntry, version ); if ( put && getSession().getFactory().getStatistics().isStatisticsEnabled() ) { getSession().getFactory().getStatisticsImplementor() .secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() ); } } postCommitInsert(); }
persister.getRootEntityName() ); Object ce = persister.getCacheAccessStrategy().get( ck, source.getTimestamp() ); if ( factory.getStatistics().isStatisticsEnabled() ) { if ( ce == null ) { factory.getStatisticsImplementor().secondLevelCacheMiss( persister.getCacheAccessStrategy().getRegion().getName() ); persister.getCacheAccessStrategy().getRegion().getName() );
persister.getRootEntityName() ); lock = persister.getCacheAccessStrategy().lockItem( ck, null ); persister.getCacheAccessStrategy().unlockItem( ck, lock );
public void evictEntity(String entityName, Serializable identifier) { EntityPersister p = getEntityPersister( entityName ); if ( p.hasCache() ) { if ( LOG.isDebugEnabled() ) { LOG.debugf( "Evicting second-level cache: %s", MessageHelper.infoString( p, identifier, SessionFactoryImpl.this ) ); } p.getCacheAccessStrategy().evict( buildCacheKey( identifier, p ) ); } }
private boolean isCached(EntityKey entityKey, EntityPersister persister) { if ( persister.hasCache() ) { CacheKey key = context.getSession().generateCacheKey( entityKey.getIdentifier(), persister.getIdentifierType(), entityKey.getEntityName() ); return persister.getCacheAccessStrategy().get( key, context.getSession().getTimestamp() ) != null; } return false; }
@Override public boolean update(Object session, Object key, Object value, Object currentVersion, Object previousVersion) throws CacheException { return unwrapEntity().update(unwrap(session), key, value, currentVersion, previousVersion); }
@Override public boolean insert(Object session, Object key, Object value, Object version) throws CacheException { return unwrapEntity().insert(unwrap(session), key, value, version); }
public void evictEntityRegion(String entityName) { EntityPersister p = getEntityPersister( entityName ); if ( p.hasCache() ) { if ( LOG.isDebugEnabled() ) { LOG.debugf( "Evicting second-level cache: %s", p.getEntityName() ); } p.getCacheAccessStrategy().evictAll(); } }
persister.getRootEntityName() ); lock = persister.getCacheAccessStrategy().lockItem( ck, previousVersion ); persister.getCacheAccessStrategy().remove( ck ); ); cacheEntry = persister.getCacheEntryStructure().structure( ce ); boolean put = persister.getCacheAccessStrategy().update( ck, cacheEntry, nextVersion, previousVersion ); if ( put && factory.getStatistics().isStatisticsEnabled() ) { factory.getStatisticsImplementor().secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() );
@Override public void doAfterTransactionCompletion(boolean success, SessionImplementor session) throws CacheException { EntityPersister persister = getPersister(); if ( persister.hasCache() ) { final CacheKey ck = getSession().generateCacheKey( getId(), persister.getIdentifierType(), persister.getRootEntityName() ); if ( success && cacheEntry!=null /*!persister.isCacheInvalidationRequired()*/ ) { boolean put = persister.getCacheAccessStrategy().afterUpdate( ck, cacheEntry, nextVersion, previousVersion, lock ); if ( put && getSession().getFactory().getStatistics().isStatisticsEnabled() ) { getSession().getFactory().getStatisticsImplementor().secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() ); } } else { persister.getCacheAccessStrategy().unlockItem( ck, lock ); } } postCommitUpdate(); }
persister.getCacheAccessStrategy().update( cacheKey, persister.getCacheEntryStructure().structure( entry ), boolean put = persister.getCacheAccessStrategy().putFromLoad( cacheKey, persister.getCacheEntryStructure().structure( entry ), factory.getStatisticsImplementor().secondLevelCachePut( persister.getCacheAccessStrategy().getRegion().getName() );
@Override public void doAfterTransactionCompletion(boolean success, SessionImplementor session) throws HibernateException { EntityPersister persister = getPersister(); if ( success && isCachePutEnabled( persister, getSession() ) ) { final CacheKey ck = getSession().generateCacheKey( getId(), persister.getIdentifierType(), persister.getRootEntityName() ); boolean put = persister.getCacheAccessStrategy().afterInsert( ck, cacheEntry, version ); if ( put && getSession().getFactory().getStatistics().isStatisticsEnabled() ) { getSession().getFactory().getStatisticsImplementor() .secondLevelCachePut( getPersister().getCacheAccessStrategy().getRegion().getName() ); } } postCommitInsert(); }