Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLinkTypeMappingOptions"
(→ReadOnly) |
(→Copying) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 68: | Line 68: | ||
* Corresponding eclipselink-orm.xml element is customizer | * Corresponding eclipselink-orm.xml element is customizer | ||
* Customizer is not inherited so you can specify on any class in the hierarchy | * Customizer is not inherited so you can specify on any class in the hierarchy | ||
− | * Class must implement org.eclipse.persistence.sessions.factories.DescriptorCustomizer | + | * Validation |
− | * 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? | + | ** Class must implement org.eclipse.persistence.sessions.factories.DescriptorCustomizer |
+ | * Questions | ||
+ | ** 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? | ||
Line 82: | Line 84: | ||
− | + | Embeddable Customizer | |
[[Image: EmbeddableCustomizer.jpg]] | [[Image: EmbeddableCustomizer.jpg]] | ||
Line 90: | Line 92: | ||
* [[Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_the_.40ChangeTracking_Annotation|@ChangeTracking]] annotation is supported on Entity, MappedSuperclass, and Embeddable | * [[Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_the_.40ChangeTracking_Annotation|@ChangeTracking]] annotation is supported on Entity, MappedSuperclass, and Embeddable | ||
* Corresponding eclipselink-orm.xml element is change-tracking | * Corresponding eclipselink-orm.xml element is change-tracking | ||
− | * | + | * Change Tracking options |
+ | ** Default (Auto) | ||
+ | ** Auto -> AUTO | ||
+ | ** Attribute -> ATTRIBUTE | ||
+ | ** Object -> OBJECT | ||
+ | ** Default -> DEFERRED | ||
Line 115: | Line 122: | ||
* Instantiation Copy Policy | * Instantiation Copy Policy | ||
** This is the default, unless in orm.xml and already defined in java | ** This is the default, unless in orm.xml and already defined in java | ||
+ | ** The Default option will change in the orm.xml and display what is specified in the java. | ||
* Clone Copy Policy | * Clone Copy Policy | ||
** Must specify one or both of method and working copy method | ** Must specify one or both of method and working copy method |
Latest revision as of 15:55, 18 July 2008
Contents
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
Document History
Date | Author | Version Description & Notes |
---|---|---|
7-8-2008 | Karen Butzke | Draft |
Project overview
This feature is about adding the attribute mapping converter annotations supported by the EclipseLink JPA extension.
Goals:
- 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
Concepts
EclipseLink ReadOnly documentation
EclipseLink Customizer documentation
EclipseLink ChangeTracking documentation
EclipseLink CopyPolicy documentation
Requirements / Functionality
ReadOnly
- @ReadOnly annotation supported on Entity and MappedSuperclass
- Corresponding eclipselink-orm.xml element is read-only
- Validation
- Only define Read-Only on the root of the inheritance hierarchy, error if set on subclass
Entity Read-Only check box
MappedSuperclass Read-Only check box
Customizer
- @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
- Validation
- Class must implement org.eclipse.persistence.sessions.factories.DescriptorCustomizer
- Questions
- 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?
Entity Customizer
Mapped Superclass Customizer
Embeddable Customizer
ChangeTracking
- @ChangeTracking annotation is supported on Entity, MappedSuperclass, and Embeddable
- Corresponding eclipselink-orm.xml element is change-tracking
- Change Tracking options
- Default (Auto)
- Auto -> AUTO
- Attribute -> ATTRIBUTE
- Object -> OBJECT
- Default -> DEFERRED
Entity Change Tracking
MappedSuperclass Change Tracking
Embeddable Change Tracking
Copying
- @CopyPolicy, @CloneCopyPolicy, @InstantiationCopyPolicy annotations supported on Entity, MappedSuperclass, and Embeddable
- Corresponding eclipselink-orm.xml elements copy-policy, clone-copy-policy, instantiation-copy-policy
- Copy Policy
- Class must implement org.eclipse.persistence.descriptors.copying.CopyPolicy. Allow user to choose a class, create a class or jump to the class. Validation if it does not implement CopyPolicy
- Instantiation Copy Policy
- This is the default, unless in orm.xml and already defined in java
- The Default option will change in the orm.xml and display what is specified in the java.
- Clone Copy Policy
- Must specify one or both of method and working copy method
Copying tab from standalone workbench
Instantiation tab from standalone workbench
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.