Package org.hibernate.cache.spi.support
Class NaturalIdReadWriteAccess
java.lang.Object
org.hibernate.cache.spi.support.AbstractCachedDomainDataAccess
org.hibernate.cache.spi.support.AbstractReadWriteAccess
org.hibernate.cache.spi.support.NaturalIdReadWriteAccess
- All Implemented Interfaces:
CachedDomainDataAccess
,NaturalIdDataAccess
,AbstractDomainDataRegion.Destructible
public class NaturalIdReadWriteAccess
extends AbstractReadWriteAccess
implements NaturalIdDataAccess
Standard support for
NaturalIdDataAccess
using the AccessType.READ_WRITE
access type.-
Nested Class Summary
Nested classes/interfaces inherited from class org.hibernate.cache.spi.support.AbstractReadWriteAccess
AbstractReadWriteAccess.Item, AbstractReadWriteAccess.Lockable, AbstractReadWriteAccess.SoftLockImpl
-
Constructor Summary
ConstructorsConstructorDescriptionNaturalIdReadWriteAccess
(DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, NaturalIdDataCachingConfig naturalIdDataCachingConfig) -
Method Summary
Modifier and TypeMethodDescriptionboolean
afterInsert
(SharedSessionContractImplementor session, Object key, Object value) Called afterQuery an item has been inserted (afterQuery the transaction completes), instead of calling release().boolean
afterUpdate
(SharedSessionContractImplementor session, Object key, Object value, SoftLock lock) Called afterQuery an item has been updated (afterQuery the transaction completes), instead of calling release().generateCacheKey
(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 AccessedDataClassification
The type of access implementedgetNaturalIdValues
(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 Comparator
boolean
insert
(SharedSessionContractImplementor session, Object key, Object value) Called afterQuery an item has been inserted (beforeQuery the transaction completes), instead of calling evict().boolean
update
(SharedSessionContractImplementor session, Object key, Object value) Called afterQuery an item has been updated (beforeQuery the transaction completes), instead of calling evict().Methods inherited from class org.hibernate.cache.spi.support.AbstractReadWriteAccess
decrementLock, get, handleLockExpiry, lockItem, nextLockId, putFromLoad, putFromLoad, readLock, remove, removeAll, unlockItem, uuid, writeLock
Methods inherited from class org.hibernate.cache.spi.support.AbstractCachedDomainDataAccess
clearCache, contains, destroy, evict, evictAll, getRegion, getStorageAccess, lockRegion, unlockRegion
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.cache.spi.access.CachedDomainDataAccess
contains, evict, evictAll, get, getRegion, lockItem, lockRegion, putFromLoad, putFromLoad, remove, removeAll, unlockItem, unlockRegion
-
Constructor Details
-
NaturalIdReadWriteAccess
public NaturalIdReadWriteAccess(DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, NaturalIdDataCachingConfig naturalIdDataCachingConfig)
-
-
Method Details
-
getAccessedDataClassification
- Specified by:
getAccessedDataClassification
in classAbstractReadWriteAccess
-
getAccessType
Description copied from interface:CachedDomainDataAccess
The type of access implemented- Specified by:
getAccessType
in interfaceCachedDomainDataAccess
-
getVersionComparator
- Specified by:
getVersionComparator
in classAbstractReadWriteAccess
-
getNaturalIdValues
Description copied from interface:NaturalIdDataAccess
Performs reverse operation toNaturalIdDataAccess.generateCacheKey(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SharedSessionContractImplementor)
, returning the original naturalIdValues.- Specified by:
getNaturalIdValues
in interfaceNaturalIdDataAccess
- Parameters:
cacheKey
- key returned fromNaturalIdDataAccess.generateCacheKey(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SharedSessionContractImplementor)
- Returns:
- the sequence of values which unequivocally identifies a cached element on this region
-