Class CoherenceReadWriteNaturalIdAccess
java.lang.Object
com.oracle.coherence.hibernate.cache.v6.access.AbstractCoherenceEntityDataAccess
com.oracle.coherence.hibernate.cache.v6.access.CoherenceReadWriteNaturalIdAccess
- All Implemented Interfaces:
org.hibernate.cache.spi.access.CachedDomainDataAccess
,org.hibernate.cache.spi.access.NaturalIdDataAccess
public class CoherenceReadWriteNaturalIdAccess
extends AbstractCoherenceEntityDataAccess
implements org.hibernate.cache.spi.access.NaturalIdDataAccess
A CoherenceReadWriteNaturalIdAccess is a Coherence-based read-write region access strategy
for Hibernate natural ID regions.
- Author:
- Randy Stafford, Gunnar Hillert
-
Field Summary
Fields inherited from class com.oracle.coherence.hibernate.cache.v6.access.AbstractCoherenceEntityDataAccess
TRANSACTIONAL_STRATEGY_NOT_SUPPORTED_MESSAGE, WRITE_OPERATIONS_NOT_SUPPORTED_MESSAGE
-
Constructor Summary
ConstructorDescriptionCoherenceReadWriteNaturalIdAccess
(org.hibernate.cache.spi.DomainDataRegion domainDataRegion, org.hibernate.cache.spi.support.DomainDataStorageAccess domainDataStorageAccess) Complete constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
afterInsert
(Object key, CoherenceRegionValue value) Coherence-based implementation of behavior common to: 1.boolean
afterInsert
(org.hibernate.engine.spi.SharedSessionContractImplementor session, Object key, Object value) protected boolean
afterUpdate
(Object key, CoherenceRegionValue value, org.hibernate.cache.spi.access.SoftLock softLock) Coherence-based implementation of behavior common to: 1.boolean
afterUpdate
(org.hibernate.engine.spi.SharedSessionContractImplementor session, Object key, Object value, org.hibernate.cache.spi.access.SoftLock lock) boolean
generateCacheKey
(Object naturalIdValues, org.hibernate.persister.entity.EntityPersister persister, org.hibernate.engine.spi.SharedSessionContractImplementor session) org.hibernate.cache.spi.access.AccessType
getNaturalIdValues
(Object cacheKey) boolean
org.hibernate.cache.spi.access.SoftLock
lockItem
(org.hibernate.engine.spi.SharedSessionContractImplementor session, Object key, Object version) boolean
putFromLoad
(org.hibernate.engine.spi.SharedSessionContractImplementor session, Object key, Object value, Object version, boolean minimalPutOverride) void
unlockItem
(org.hibernate.engine.spi.SharedSessionContractImplementor session, Object key, org.hibernate.cache.spi.access.SoftLock lock) boolean
Methods inherited from class com.oracle.coherence.hibernate.cache.v6.access.AbstractCoherenceEntityDataAccess
evict, evictAll, getCacheKeysFactory, getCoherenceRegion, getDomainDataStorageAccess, getRegion, getUuid, getVersionComparator, lockRegion, newCacheValue, nextSoftLockSequenceNumber, putFromLoad, remove, removeAll, toString, unlockRegion
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hibernate.cache.spi.access.CachedDomainDataAccess
evict, evictAll, get, getRegion, lockItem, lockRegion, putFromLoad, putFromLoad, remove, removeAll, unlockItem, unlockRegion
-
Constructor Details
-
CoherenceReadWriteNaturalIdAccess
public CoherenceReadWriteNaturalIdAccess(org.hibernate.cache.spi.DomainDataRegion domainDataRegion, org.hibernate.cache.spi.support.DomainDataStorageAccess domainDataStorageAccess) Complete constructor.- Parameters:
domainDataRegion
- the domain data regiondomainDataStorageAccess
- the domain data storage access
-
-
Method Details
-
getNaturalIdValues
- Specified by:
getNaturalIdValues
in interfaceorg.hibernate.cache.spi.access.NaturalIdDataAccess
-
getAccessType
public org.hibernate.cache.spi.access.AccessType getAccessType()- Specified by:
getAccessType
in interfaceorg.hibernate.cache.spi.access.CachedDomainDataAccess
-
contains
- Specified by:
contains
in interfaceorg.hibernate.cache.spi.access.CachedDomainDataAccess
- Overrides:
contains
in classAbstractCoherenceEntityDataAccess
-
afterInsert
Coherence-based implementation of behavior common to: 1. org.hibernate.cache.spi.access.EntityRegionAccessStrategy.afterInsert(Object key, Object value, Object version) and 2. org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy.afterInsert(Object key, Object value). The only difference in implementation is that the cache value in a NaturalIdRegion will have a null version object.- Parameters:
key
- the key at which to insert a valuevalue
- the value to insert- Returns:
- a boolean indicating whether cache contents were modified
-
afterUpdate
protected boolean afterUpdate(Object key, CoherenceRegionValue value, org.hibernate.cache.spi.access.SoftLock softLock) Coherence-based implementation of behavior common to: 1. org.hibernate.cache.spi.access.EntityRegionAccessStrategy.afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock) and 2. org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy.afterUpdate(Object key, Object value, SoftLock lock). The only difference in implementation is that the cache value in a NaturalIdRegion will have a null version object.- Parameters:
key
- the key at which to insert a valuevalue
- the value to insertsoftLock
- the softLock acquired in an earlier lockItem call with the argument key- Returns:
- a boolean indicating whether cache contents were modified