类 NaturalIdReadWriteAccess
- java.lang.Object
-
- org.hibernate.cache.spi.support.AbstractCachedDomainDataAccess
-
- org.hibernate.cache.spi.support.AbstractReadWriteAccess
-
- org.hibernate.cache.spi.support.NaturalIdReadWriteAccess
-
public class NaturalIdReadWriteAccess extends AbstractReadWriteAccess implements NaturalIdDataAccess
Standard support forNaturalIdDataAccessusing theAccessType.READ_WRITEaccess type.- 作者:
- Steve Ebersole
-
-
嵌套类概要
-
从类继承的嵌套类/接口 org.hibernate.cache.spi.support.AbstractReadWriteAccess
AbstractReadWriteAccess.Item, AbstractReadWriteAccess.Lockable, AbstractReadWriteAccess.SoftLockImpl
-
-
构造器概要
构造器 构造器 说明 NaturalIdReadWriteAccess(DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, NaturalIdDataCachingConfig naturalIdDataCachingConfig)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 booleanafterInsert(SharedSessionContractImplementor session, Object key, Object value)Called afterQuery an item has been inserted (afterQuery the transaction completes), instead of calling release().booleanafterUpdate(SharedSessionContractImplementor session, Object key, Object value, SoftLock lock)Called afterQuery an item has been updated (afterQuery the transaction completes), instead of calling release().ObjectgenerateCacheKey(Object[] naturalIdValues, EntityPersister rootEntityDescriptor, SharedSessionContractImplementor session)To create instances of NaturalIdCacheKey for this region, Hibernate will invoke this method exclusively so that generated implementations can generate optimised keys.protected AccessedDataClassificationgetAccessedDataClassification()AccessTypegetAccessType()The type of access implementedObject[]getNaturalIdValues(Object cacheKey)Performs reverse operation toNaturalIdDataAccess.generateCacheKey(java.lang.Object[], org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SharedSessionContractImplementor), returning the original naturalIdValues.protected ComparatorgetVersionComparator()booleaninsert(SharedSessionContractImplementor session, Object key, Object value)Called afterQuery an item has been inserted (beforeQuery the transaction completes), instead of calling evict().booleanupdate(SharedSessionContractImplementor session, Object key, Object value)Called afterQuery an item has been updated (beforeQuery the transaction completes), instead of calling evict().-
从类继承的方法 org.hibernate.cache.spi.support.AbstractReadWriteAccess
decrementLock, get, handleLockExpiry, lockItem, nextLockId, putFromLoad, putFromLoad, readLock, remove, removeAll, unlockItem, uuid, writeLock
-
从类继承的方法 org.hibernate.cache.spi.support.AbstractCachedDomainDataAccess
clearCache, contains, destroy, evict, evictAll, getRegion, getStorageAccess, lockRegion, unlockRegion
-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 org.hibernate.cache.spi.access.CachedDomainDataAccess
contains, evict, evictAll, get, getRegion, lockItem, lockRegion, putFromLoad, putFromLoad, remove, removeAll, unlockItem, unlockRegion
-
-
-
-
构造器详细资料
-
NaturalIdReadWriteAccess
public NaturalIdReadWriteAccess(DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, NaturalIdDataCachingConfig naturalIdDataCachingConfig)
-
-
方法详细资料
-
getAccessedDataClassification
protected AccessedDataClassification getAccessedDataClassification()
-
getAccessType
public AccessType getAccessType()
从接口复制的说明:CachedDomainDataAccessThe type of access implemented- 指定者:
getAccessType在接口中CachedDomainDataAccess
-
getVersionComparator
protected Comparator getVersionComparator()
-
generateCacheKey
public Object generateCacheKey(Object[] naturalIdValues, EntityPersister rootEntityDescriptor, SharedSessionContractImplementor session)
从接口复制的说明:NaturalIdDataAccessTo create instances of NaturalIdCacheKey for this region, Hibernate will invoke this method exclusively so that generated implementations can generate optimised keys.- 指定者:
generateCacheKey在接口中NaturalIdDataAccess- 参数:
naturalIdValues- the sequence of values which unequivocally identifies a cached element on this regionrootEntityDescriptor- the persister of the element being cached- 返回:
- a key which can be used to identify an element unequivocally on this same region
-
getNaturalIdValues
public Object[] getNaturalIdValues(Object cacheKey)
从接口复制的说明:NaturalIdDataAccessPerforms reverse operation toNaturalIdDataAccess.generateCacheKey(java.lang.Object[], org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SharedSessionContractImplementor), returning the original naturalIdValues.- 指定者:
getNaturalIdValues在接口中NaturalIdDataAccess- 参数:
cacheKey- key returned fromNaturalIdDataAccess.generateCacheKey(java.lang.Object[], org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SharedSessionContractImplementor)- 返回:
- the sequence of values which unequivocally identifies a cached element on this region
-
insert
public boolean insert(SharedSessionContractImplementor session, Object key, Object value)
从接口复制的说明:NaturalIdDataAccessCalled afterQuery an item has been inserted (beforeQuery the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.- 指定者:
insert在接口中NaturalIdDataAccess- 参数:
session- Current sessionkey- The item keyvalue- The item- 返回:
- Were the contents of the cache actually changed by this operation?
-
afterInsert
public boolean afterInsert(SharedSessionContractImplementor session, Object key, Object value)
从接口复制的说明:NaturalIdDataAccessCalled afterQuery an item has been inserted (afterQuery the transaction completes), instead of calling release(). This method is used by "asynchronous" concurrency strategies.- 指定者:
afterInsert在接口中NaturalIdDataAccess- 参数:
session- Current sessionkey- The item keyvalue- The item- 返回:
- Were the contents of the cache actually changed by this operation?
-
update
public boolean update(SharedSessionContractImplementor session, Object key, Object value)
从接口复制的说明:NaturalIdDataAccessCalled afterQuery an item has been updated (beforeQuery the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.- 指定者:
update在接口中NaturalIdDataAccess- 参数:
session- Current sessionkey- The item keyvalue- The item- 返回:
- Were the contents of the cache actually changed by this operation?
-
afterUpdate
public boolean afterUpdate(SharedSessionContractImplementor session, Object key, Object value, SoftLock lock)
从接口复制的说明:NaturalIdDataAccessCalled afterQuery an item has been updated (afterQuery the transaction completes), instead of calling release(). This method is used by "asynchronous" concurrency strategies.- 指定者:
afterUpdate在接口中NaturalIdDataAccess- 参数:
session- Current sessionkey- The item keyvalue- The itemlock- The lock previously obtained fromCachedDomainDataAccess.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)- 返回:
- Were the contents of the cache actually changed by this operation?
-
-