EclipseLink/FAQ/How to disable the shared cache?

From Eclipsepedia

< EclipseLink‎ | FAQ
Revision as of 11:22, 26 November 2009 by James.sutherland.oracle.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


By default EclipseLink enables a shared object cache to cache objects read from the database to avoid repeated database access. If the database is changed directly through JDBC, or by another application or server, the objects in the shared cache will be stale.

EclipseLink offers several mechanism to deal with stale data including:

  • Refreshing
  • Invalidation
  • Optimistic locking
  • Cache coordination

The shared cache can also be disabled. This can be done using the persistence unit property:

<property name="eclipselink.cache.shared.default" value="false"/>

Or can be selectively enabled/disabled using the @Cache annotation.

@Entity
@Cache(shared=false)
public class Employee {
  ...
}

See, Caching Example and Introduction to Cache for more information on caching.