public class HibernateReadWriteAccessStrategy extends HibernateAccessStrategyAdapter
Configuration of L2 cache and per-entity cache access strategy can be set in the Hibernate configuration file:
<hibernate-configuration>
<!-- Enable L2 cache. -->
<property name="cache.use_second_level_cache">true</property>
<!-- Use Ignite as L2 cache provider. -->
<property name="cache.region.factory_class">org.apache.ignite.cache.hibernate.HibernateRegionFactory</property>
<!-- Specify entity. -->
<mapping class="com.example.Entity"/>
<!-- Enable L2 cache with read-write access strategy for entity. -->
<class-cache class="com.example.Entity" usage="read-write"/>
</hibernate-configuration>
Also cache access strategy can be set using annotations:
@javax.persistence.Entity
@javax.persistence.Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Entity { ... }
cache, ignite, log| Modifier | Constructor and Description |
|---|---|
protected |
HibernateReadWriteAccessStrategy(Ignite ignite,
HibernateCacheProxy cache,
ThreadLocal txCtx,
HibernateExceptionConverter eConverter) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
afterInsert(Object key,
Object val)
Called after Hibernate inserted object in the database and transaction successfully completed.
|
boolean |
afterUpdate(Object key,
Object val)
Called after Hibernate updated object in the database and transaction successfully completed.
|
Object |
get(Object key) |
boolean |
insert(Object key,
Object val)
Called after Hibernate inserted object in the database but before transaction completed.
|
void |
lock(Object key)
Called during database transaction execution before Hibernate attempts to update or remove given key.
|
void |
putFromLoad(Object key,
Object val)
Puts in cache value loaded from the database.
|
void |
remove(Object key)
Called after Hibernate removed object from database but before transaction completed.
|
void |
unlock(Object key)
Called after Hibernate failed to update or successfully removed given key.
|
boolean |
update(Object key,
Object val)
Called after Hibernate updated object in the database but before transaction completed.
|
evict, evict, evictAll, evictAll, lockRegion, putFromLoad, removeAll, unlockRegionprotected HibernateReadWriteAccessStrategy(Ignite ignite, HibernateCacheProxy cache, ThreadLocal txCtx, HibernateExceptionConverter eConverter)
ignite - Grid.cache - Cache.txCtx - Thread local instance used to track updates done during one Hibernate transaction.eConverter - Exception converter.public Object get(Object key)
get in class HibernateAccessStrategyAdapterkey - Key.public void putFromLoad(Object key, Object val)
putFromLoad in class HibernateAccessStrategyAdapterkey - Key.val - Value.public void lock(Object key)
lock in class HibernateAccessStrategyAdapterkey - Key.public void unlock(Object key)
unlock in class HibernateAccessStrategyAdapterkey - Key.public boolean update(Object key, Object val)
update in class HibernateAccessStrategyAdapterkey - Key.val - Value.True if operation updated cache.public boolean afterUpdate(Object key, Object val)
afterUpdate in class HibernateAccessStrategyAdapterkey - Key.val - Value.True if operation updated cache.public boolean insert(Object key, Object val)
insert in class HibernateAccessStrategyAdapterkey - Key.val - Value.True if operation updated cache.public boolean afterInsert(Object key, Object val)
afterInsert in class HibernateAccessStrategyAdapterkey - Key.val - Value.True if operation updated cache.public void remove(Object key)
remove in class HibernateAccessStrategyAdapterkey - Key,
GridGain In-Memory Computing Platform : ver. 8.9.26 Release Date : October 16 2025