EclipseLink 1.2.0, build 'v20091016-r5565' API Reference

org.eclipse.persistence.config
Class FlushClearCache

java.lang.Object
  extended by org.eclipse.persistence.config.FlushClearCache

public class FlushClearCache
extends java.lang.Object

FlushClearCache persistence property defines modes of cache handling after em.flush call followed by em.clear call. This property could be specified while creating either EntityManagerFactory (createEntityManagerFactory or persistence.xml) or EntityManager (createEntityManager); the latter overrides the former.

JPA persistence property Usage:

properties.add(PersistenceUnitProperties.FLUSH_CLEAR_CACHE, FlushClearCache.Drop);

Values are case-insensitive. "" could be used instead of default value FlushClearCache.DEFAULT.


Field Summary
static java.lang.String DEFAULT
           
static java.lang.String Drop
          Call to clear method causes to drop the whole EntityManager cache.
static java.lang.String DropInvalidate
          Call to clear method causes to drops the whole EntityManager cache, on commit the classes that have at least one object updated or deleted are invalidated in the shared cache.
static java.lang.String Merge
          Call to clear method causes to drop from EntityManager cache only the objects that haven't been flushed.
 
Constructor Summary
FlushClearCache()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Merge

public static final java.lang.String Merge
Call to clear method causes to drop from EntityManager cache only the objects that haven't been flushed. This is the most accurate mode: shared cache is perfect after commit; but the least memory effective: smbd repeatedly using flush followed by clear may eventually run out of memory in a huge transaction.

See Also:
Constant Field Values

Drop

public static final java.lang.String Drop
Call to clear method causes to drop the whole EntityManager cache. This is the fasteset and using the least memory mode - but after commit the shared cache potentially contains stale data.

See Also:
Constant Field Values

DropInvalidate

public static final java.lang.String DropInvalidate
Call to clear method causes to drops the whole EntityManager cache, on commit the classes that have at least one object updated or deleted are invalidated in the shared cache. This is a compromise mode: potentially a bit slower than drop, but has virtually the same memory efficiency. After commit all potentially stale data is invalidated in the shared cache.

See Also:
Constant Field Values

DEFAULT

public static final java.lang.String DEFAULT
See Also:
Constant Field Values
Constructor Detail

FlushClearCache

public FlushClearCache()

EclipseLink 1.2.0, build 'v20091016-r5565' API Reference