Functional Specification: Dali Support for new EclipseLink type mapping options
bug 240038 - ReadOnly support
bug 240042 - Customizer support
bug 240036 - ChangeTracking support
bug 240035 - CopyPolicy support
|Date||Author||Version Description & Notes|
This feature is about adding the attribute mapping converter annotations supported by the EclipseLink JPA extension.
- Add JPA Details view widgets for ReadOnly annotation and read-only eclipselink-orm.xml element
- Add JPA Details view widgets for Customizer annotation and customizer eclipselink-orm.xml element
- Add JPA Details view widgets for ChangeTracking annotation and read-only eclipselink-orm.xml element
- Add JPA Details view widgets for CopyPolicy, CloneCopyPolicy, InstantiationCopyPolicy annotations and copy-policy, clone-copy-policy, and instantiation-copy-policy eclipselink-orm.xml elements
- Provide validation for these settings
Requirements / Functionality
- @ReadOnly annotation supported on Entity and MappedSuperclass
- Corresponding eclipselink-orm.xml element is read-only
- Only define Read-Only on the root of the inheritance hierarchy, validation error if set on subclass
Entity Read-Only check box
MappedSuperclass Read-Only check box
- @Customizer annotation is supported on Entity, MappedSuperclass, Embeddable
- Corresponding eclipselink-orm.xml element is customizer
- Customizer is not inherited so you can specify on any class in the hierarchy
- Class must implement org.eclipse.persistence.sessions.factories.DescriptorCustomizer
- Validation if customizer specified twice, as an annotation and as a persistence.xml property? Or does the persistence.xml property override the one specified in annotation like how the orm.xml overrides the annotation?
Mapped Superclass Customizer
- @ChangeTracking annotation is supported on Entity, MappedSuperclass, and Embeddable
- Corresponding eclipselink-orm.xml eleemnt is change-tracking
- Options are AUTO, ATTRIBUTE, OBJECT, DEFERRED with AUTO as the default.
Entity Change Tracking
MappedSuperclass Change Tracking
Embeddable Change Tracking
- @CopyPolicy, @CloneCopyPolicy, @InstantiationCopyPolicy annotations supported on Entity, MappedSuperclass, and Embeddable
- Corresponding eclipselink-orm.xml elements copy-policy, clone-copy-policy, instantiation-copy-policy
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|
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.