JPA Interface

Cache


Interface used to interact with the second-level cache. If a cache is not in use, the methods of this interface have no effect, except for contains, which returns false.
Since:
JPA 2.0
The Shared (L2) Entity Cache article explains how to use Cache.

Public Methods

boolean contains(Class cls, Object primaryKey)
Whether the cache contains data for the given entity.
Parameters:
cls - entity class
primaryKey - primary key
Return:
boolean indicating whether the entity is in the cache
Since:
JPA 2.0
void evict(Class cls)
Remove the data for entities of the specified class (and its subclasses) from the cache.
Parameters:
cls - entity class
Since:
JPA 2.0
void evict(Class cls, Object primaryKey)
Remove the data for the given entity from the cache.
Parameters:
cls - entity class
primaryKey - primary key
Since:
JPA 2.0
void evictAll()
Clear the cache.
Since:
JPA 2.0
T unwrap(Class<T> cls)
Return an object of the specified type to allow access to the provider-specific API.
If the provider's Cache implementation does not support the specified class, the PersistenceException is thrown.
Parameters:
cls - the class of the object to be returned. This is normally either the underlying Cache implementation class or an interface that it implements.
Return:
an instance of the specified class
Throws:
PersistenceException - if the provider does not support the call
Since:
JPA 2.1