javax.persistence.Cache Maven / Gradle / Ivy
// $Id: Cache.java 17752 2009-10-15 01:19:21Z [email protected] $
// EJB3 Specification Copyright 2004-2009 Sun Microsystems, Inc.
package javax.persistence;
/**
* 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 Java Persistence 2.0
*/
public interface Cache {
/**
* Whether the cache contains data for the given entity.
* @param cls entity class
* @param primaryKey primary key
* @return boolean indicating whether the entity is in the cache
*/
public boolean contains(Class cls, Object primaryKey);
/**
* Remove the data for the given entity from the cache.
* @param cls entity class
* @param primaryKey primary key
*/
public void evict(Class cls, Object primaryKey);
/**
* Remove the data for entities of the specified class (and its
* subclasses) from the cache.
* @param cls entity class
*/
public void evict(Class cls);
/**
* Clear the cache.
*/
public void evictAll();
}