org.hibernate.cache.spi.RegionFactory is the main
integration contract that defines how Hibernate accesses
the provider. It's main contract is the generation of
org.hibernate.cache.spi.Region references with the
requested intent (what will be stored there).
Generally a provider will integrate with Hibernate by:
1. implementing the contracts in org.hibernate.cache.spi
2. implementing the contracts in org.hibernate.cache.spi.support
3. a mix of (1) and (2)
The first approach allows for more control of the set up, but also requires more
to implement. The second approach tries to minimize the amount of work needed
to integrate with caching providers to basically the
org.hibernate.cache.spi.support.StorageAccess and
org.hibernate.cache.spi.support.DomainDataStorageAccess contracts which
are basic read/write type abstractions of the underlying "cache" object - it
is a nearly complete implementation aside from providing the proper "storage
access" objects.
Note
providers may also integrate with Hibernate via Hibernate's JCache support as defined by the `hibernate-jcache` module - no code involved aside from being a JCache implementation properly registered via the JCache spec.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | CacheImplementor
Deprecated
as a consequence of SPI contract for Hibernate's second-level cache engine
CacheImplementor being deprecated.
|
| public interface | |
| public interface | CacheTransactionSynchronization
Defines a context object that a |
| public interface | DirectAccessRegion
Specialized Region whose data is accessed directly (not requiring key/item wrapping, e.g. Does not define a "remove" operation because Hibernate's query and timestamps caches only ever "get" and "put" |
| public interface | DomainDataRegion
A Region for cacheable domain data - entity, collection, natural-id.
Generally speaking, this type of data has:
* specific key and value wrapping that needs to be applied
* specific access patterns ( |
| public interface | ExtendedStatisticsSupport
Optional Region contract defining support for extra statistic information |
| public interface | QueryCache
Deprecated
Use
QueryResultsCache instead -
CacheImplementor#getQueryResultsCache rather than
CacheImplementor#getQueryCache
|
| public interface | QueryResultsCache
Deprecated
as a consequence of Defines the responsibility for managing query result data caching
in regards to a specific region.
QueryCache being deprecated.
|
| public interface | QueryResultsRegion
Defines the contract for a cache region which will specifically be used to store query results. |
| public interface | Region
Contract for a named "region". |
| public interface | RegionFactory
Contract for building second level cache regions. |
| public interface | |
| public interface | TimestampsCache
Deprecated
as a consequence of Wrapper for a UpdateTimestampsCache being deprecated.
TimestampsRegion adding handling of stale results
|
| public interface | TimestampsCacheFactory
Responsible for building the TimestampsRegionAccessFactory to use for managing query results in regards to staleness of the underlying tables (sometimes called "query spaces" or "table spaces") |
| public interface | |
| public interface | UpdateTimestampsCache
Deprecated
Use Tracks the timestamps of the most recent updates to particular tables.
TimestampsCache instead
|