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.
EclipseLinkCachingAndLocking
Contents
Functional Specification: Dali Support for EclipseLink Caching and Optimistic Locking
bug 239137 - cache support
bug 239148 - optimistic locking support
Document History
Date | Author | Version Description & Notes |
---|---|---|
7-1-2008 | Karen Butzke | Draft |
Project overview
This feature is entity/mapped superclass level caching and optimistic locking supported by the EclipseLink JPA extension.
Goals:
- Add JPA Details view widgets for the Cache, ExistenceChecking, OptimisticLocking annotations
- Add JPA Details view widgets for eclipselink-orm.xml cache, esistence-checking and optimistic-locking elements
- Provide the appropriate defaults and validation for these settings
Concepts
Present any concepts relevant to the feature.
EclipseLink Cache annotation documentation
EclipseLink OptimisticLocking annotation documentation
Requirements / Functionality
Cache
- Supported in Entity and MappedSuperclass classes.
Optimistic Locking
- Supported in Entity and MappedSuperclass classes.
- Type Options
- Default (Version Column)
- All Columns -> OptimisticLockingType.ALL_COLUMNS
- Changed Columns -> OptimisticLockingType.CHANGED_COLUMNS
- Selected Columns -> OptimisticLockingType.SELECTED_COLUMNS
- Version Column -> OptimisticLockingType.VERSION_COLUMN
- Validation
- Type is 'Selected Column' but no columns are selected
- Selected Columns must be mapped and must not be primary keys
- If using Optimistic Locking with anything other than Version Column, the @Version annotation will be ignored (warning, not error, for this)
- If Cascade is set and type is not Version Column, warning that it is not supported.
API
Issues
This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.
Issue # | Owner | Description / Notes | Decision |
---|---|---|---|
Future Considerations
During the research for this project the following items were identified as out of scope but are captured here as potential future enhancements. If agreed upon during the review process these should be logged in the bug system.