public abstract class AbstractCollectionDataAccess extends AbstractCachedDomainDataAccess implements CollectionDataAccess
| Constructor and Description |
|---|
AbstractCollectionDataAccess(DomainDataRegion region,
CacheKeysFactory keysFactory,
DomainDataStorageAccess storageAccess,
CollectionDataCachingConfig config) |
| Modifier and Type | Method and Description |
|---|---|
Object |
generateCacheKey(Object id,
CollectionPersister persister,
SessionFactoryImplementor factory,
String tenantIdentifier)
To create instances of CollectionCacheKey for this region, Hibernate will invoke this method
exclusively so that generated implementations can generate optimised keys.
|
Object |
getCacheKeyId(Object cacheKey)
|
SoftLock |
lockItem(SharedSessionContractImplementor session,
Object key,
Object version)
We are going to attempt to update/delete the keyed object.
|
SoftLock |
lockRegion()
Lock the entire region
|
void |
unlockItem(SharedSessionContractImplementor session,
Object key,
SoftLock lock)
Called when we have finished the attempted update/delete (which may or
may not have been successful), after transaction completion.
|
void |
unlockRegion(SoftLock lock)
Called after we have finished the attempted invalidation of the entire
region
|
clearCache, contains, destroy, evict, evictAll, get, getRegion, getStorageAccess, putFromLoad, putFromLoad, remove, removeAllclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcontains, evict, evictAll, get, getAccessType, getRegion, putFromLoad, putFromLoad, remove, removeAllpublic AbstractCollectionDataAccess(DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, CollectionDataCachingConfig config)
public Object generateCacheKey(Object id, CollectionPersister persister, SessionFactoryImplementor factory, String tenantIdentifier)
CollectionDataAccessgenerateCacheKey in interface CollectionDataAccessid - the primary identifier of the Collectionpersister - the descriptor of the collection for which a key is being generatedfactory - a reference to the current SessionFactorytenantIdentifier - the tenant id, or null if multi-tenancy is not being used.public Object getCacheKeyId(Object cacheKey)
CollectionDataAccessCollectionDataAccess.generateCacheKey(java.lang.Object, org.hibernate.persister.collection.CollectionPersister, org.hibernate.engine.spi.SessionFactoryImplementor, java.lang.String)getCacheKeyId in interface CollectionDataAccesscacheKey - key previously returned from CollectionDataAccess.generateCacheKey(java.lang.Object, org.hibernate.persister.collection.CollectionPersister, org.hibernate.engine.spi.SessionFactoryImplementor, java.lang.String)CollectionDataAccess.generateCacheKey(java.lang.Object, org.hibernate.persister.collection.CollectionPersister, org.hibernate.engine.spi.SessionFactoryImplementor, java.lang.String)public SoftLock lockItem(SharedSessionContractImplementor session, Object key, Object version)
CachedDomainDataAccessCachedDomainDataAccess.unlockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, org.hibernate.cache.spi.access.SoftLock), to release the
lock. Concurrency strategies which do not support client-visible
locks may silently return null.lockItem in interface CachedDomainDataAccesssession - Current session.key - The key of the item to lockversion - The item's current version valuenull.public void unlockItem(SharedSessionContractImplementor session, Object key, SoftLock lock)
CachedDomainDataAccessunlockItem in interface CachedDomainDataAccesssession - Current session.key - The item keylock - The lock previously obtained from CachedDomainDataAccess.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)public SoftLock lockRegion()
CachedDomainDataAccesslockRegion in interface CachedDomainDataAccesslockRegion in class AbstractCachedDomainDataAccessnull.public void unlockRegion(SoftLock lock)
CachedDomainDataAccessunlockRegion in interface CachedDomainDataAccessunlockRegion in class AbstractCachedDomainDataAccesslock - The lock previously obtained from CachedDomainDataAccess.lockRegion()Copyright © 2001-2022 Red Hat, Inc. All Rights Reserved.