Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Caching/Caching Overview"
< EclipseLink | UserGuide | JPA | Basic JPA Development | Caching
(→Caching Overview) |
|||
Line 2: | Line 2: | ||
|api=y | |api=y | ||
|apis= | |apis= | ||
+ | *[http://www.eclipse.org/eclipselink/api/latest/javax/persistence/Cacheable.html @Cacheable] | ||
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/Cache.html @Cache] | *[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/Cache.html @Cache] | ||
− | |||
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/ExistenceChecking.html @ExistenceChecking] | *[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/ExistenceChecking.html @ExistenceChecking] | ||
+ | *[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/config/PersistenceUnitProperties.html @PersistenceUnitProperties] | ||
|examples=y | |examples=y | ||
|example= | |example= | ||
Line 27: | Line 28: | ||
* in-memory querying and conforming | * in-memory querying and conforming | ||
* time to live, and daily cache invalidation | * time to live, and daily cache invalidation | ||
− | * clustered cache coordination | + | * clustered cache coordination through RMI and JMS |
* database event driven cache invalidation and Oracle DCN/QCN | * database event driven cache invalidation and Oracle DCN/QCN | ||
* support for JPA 2.0 @Cachable configuraiton and API | * support for JPA 2.0 @Cachable configuraiton and API |
Revision as of 10:36, 7 May 2012
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Caching Overview
The EclipseLink cache is an in-memory repository that stores recently read or written objects based on class and Id values. EclipseLink uses the cache to do the following:
- Improve performance by holding recently read or written objects and their relationships and accessing them in-memory to minimize database access.
- Manage locking and isolation level.
- Manage object identity.
EclipseLink offers an integrated and functional cache including the following features:
- isolated persistence context cache (L1), and shared persistence unit cache (L2)
- caching configurable at the Entity level, entities can be cached, or not, cached entities can reference non-cached entities
- multiple cache type options (weak, soft, full, weak-cache, soft-cache)
- configurable size
- cache indexes
- in-memory querying and conforming
- time to live, and daily cache invalidation
- clustered cache coordination through RMI and JMS
- database event driven cache invalidation and Oracle DCN/QCN
- support for JPA 2.0 @Cachable configuraiton and API
- extended JpaCache API
- query cache
EclipseLink supports the following caching annotations:
- @Cachable
- @Cache
- @ExistenceChecking
EclipseLink also provides a number of persistence unit properties that you can specify to configure the EclipseLink cache (see How to Use the Persistence Unit Properties for Caching). These properties may compliment or provide an alternative to the usage of annotations.
Caching | @Cache | |
EclipseLink Home
JPA User Guide: Table of Contents, Search |
||
How to contribute to this guide... |