CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation

com.tangosol.coherence.jpa
Class JpaCacheStore

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.coherence.jpa.JpaCacheLoader
          extended by com.tangosol.coherence.jpa.JpaCacheStore
All Implemented Interfaces:
CacheLoader, CacheStore

public class JpaCacheStore
extends JpaCacheLoader
implements CacheStore

JPA implementation of the CacheStore interface.

Use this class as a full load and store implementation that uses any JPA implementation to load and store entities to and from a data store. The entities must be mapped to the data store and a JPA persistence unit configuration must exist.

NOTE: The persistence unit is assumed to be set to use RESOURCE_LOCAL transactions.

Author:
mlk 2007.04.20, jh 2007.05.18

Field Summary
 
Fields inherited from class com.tangosol.coherence.jpa.JpaCacheLoader
m_emf, m_sEntityClass, m_sEntityName, s_mapFactories
 
Constructor Summary
JpaCacheStore(String sEntityName, String sEntityClassName, String sUnitName)
          Constructor which accepts an entity name, class name, and persistence unit name.
JpaCacheStore(String sEntityName, String sEntityClassName, String sUnitName, ClassLoader loader)
          Constructor which accepts an entity name, class name, persistence unit name, and classloader.
 
Method Summary
 void erase(Object oKey)
          Remove the specified key from the underlying store if present.
 void eraseAll(Collection colKeys)
          Remove the specified keys from the underlying store if present.
protected  void rollback(javax.persistence.EntityTransaction tx)
          Rollback the given EntityTransaction if it is not null and is active.
 void store(Object oKey, Object oValue)
          Store the specified value under the specified key in the underlying store.
 void storeAll(Map mapEntries)
          Store the specified values under the specified keys in the underlying store.
 
Methods inherited from class com.tangosol.coherence.jpa.JpaCacheLoader
getEntityManager, initialize, load, loadAll
 
Methods inherited from interface com.tangosol.net.cache.CacheLoader
load, loadAll
 

Constructor Detail

JpaCacheStore

public JpaCacheStore(String sEntityName,
                     String sEntityClassName,
                     String sUnitName)
Constructor which accepts an entity name, class name, and persistence unit name.

Parameters:
sEntityName - the JPA name of the entity
sEntityClassName - the fully-qualified class name of the entity
sUnitName - the name of the persistence unit

JpaCacheStore

public JpaCacheStore(String sEntityName,
                     String sEntityClassName,
                     String sUnitName,
                     ClassLoader loader)
Constructor which accepts an entity name, class name, persistence unit name, and classloader.

Parameters:
sEntityName - the JPA name of the entity
sEntityClassName - the fully-qualified class name of the entity
sUnitName - the name of the persistence unit
loader - the ClassLoader used to load the entity class
Method Detail

store

public void store(Object oKey,
                  Object oValue)
Store the specified value under the specified key in the underlying store. This method is intended to support both key/value creation and value update for a specific key.

Specified by:
store in interface CacheStore
Parameters:
oKey - key to store the value under
oValue - value to be stored

storeAll

public void storeAll(Map mapEntries)
Store the specified values under the specified keys in the underlying store. This method is intended to support both key/value creation and value update for the specified keys.

Specified by:
storeAll in interface CacheStore
Parameters:
mapEntries - a Map of any number of keys and values to store

erase

public void erase(Object oKey)
Remove the specified key from the underlying store if present.

Specified by:
erase in interface CacheStore
Parameters:
oKey - key whose mapping is being removed from the cache

eraseAll

public void eraseAll(Collection colKeys)
Remove the specified keys from the underlying store if present.

Specified by:
eraseAll in interface CacheStore
Parameters:
colKeys - keys whose mappings are being removed from the cache

rollback

protected void rollback(javax.persistence.EntityTransaction tx)
Rollback the given EntityTransaction if it is not null and is active.

Parameters:
tx - the EntityTransaction; may be null

CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation