Top Description Interfaces Classes
[default module]

Package org.hibernate.cache.spi


Defines the integration aspect of Hibernate's second-level caching allowing "caching back ends" to be plugged in as a caching provider. 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.

Interface Summary

Modifier and TypeInterface and Description
public interface
CacheImplementor

Deprecated as a consequence of CacheImplementor being deprecated.
SPI contract for Hibernate's second-level cache engine
public interface
public interface
CacheTransactionSynchronization

Defines a context object that a RegionFactory is asked to create (RegionFactory#createTransactionContext}) when a Hibernate Session is created.

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 (EntityDataAccess, etc), including some form of locking

public interface
ExtendedStatisticsSupport

Optional Region contract defining support for extra statistic information

public interface
public interface
QueryResultsCache

Deprecated as a consequence of QueryCache being deprecated.
Defines the responsibility for managing query result data caching in regards to a specific region.
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 UpdateTimestampsCache being deprecated.
Wrapper for a 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 TimestampsCache instead
Tracks the timestamps of the most recent updates to particular tables.

Class Summary

Modifier and TypeClass and Description
public abstract class
public abstract class
public class
FilterKey

Allows cached queries to be keyed by enabled filters.

public class
QueryKey

A key that identifies a particular query with bound parameter values.

public class
public class