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 "EclipseLink/Development/DBWS/oNmMetadata"
< EclipseLink | Development | DBWS
(→New 'oNm' Metadata) |
(→Dynamic Persistent Model Classes) |
||
Line 19: | Line 19: | ||
High-level Requirements : | High-level Requirements : | ||
* an in-memory model of the 'oNm' metadata can be realized into runtime artifacts, including generating persistent model classes. | * an in-memory model of the 'oNm' metadata can be realized into runtime artifacts, including generating persistent model classes. | ||
− | * generated persistent model classes must work when mapped simultaneously by both an orm and oxm metadata model. | + | * generated persistent model classes must work when mapped simultaneously by both an orm and oxm metadata model. <br/> i.e. the generated classes cannot have |
* the existing multiple solutions for dynamic generation of persistent model classes is re-factored to a single common solution. | * the existing multiple solutions for dynamic generation of persistent model classes is re-factored to a single common solution. |
Revision as of 15:36, 2 June 2009
Future DBWS work
At some point in the future, DBWS will switch from using 'native' EclipseLink metadata (a.k.a. Project deployment xml) to using 'oxm' and 'orm' (a.k.a JPA-style) metadata formats. In addition to using the new metadata formats, DBWS typically operates without persistent model classes; thus at runtime, a dynamic solution is required for the generation of persistent model classes.
New 'oNm' Metadata
High-level Requirements:
- as there are no persistent model classes on the classpath, the metadata must use only simple scalar objects (Strings, booleans, numbers, etc.) to describe all capabilities and settings.
- an in-memory model of the metadata can be read in from an 'oNm.xml' file (or stream, URL, etc.) without persistent model classes on the classpath.
- an in-memory model of the metadata can be serialized to a file (or stream, URL, etc.) without persistent model classes on the classpath.
Dynamic Persistent Model Classes
EclipseLink currently has two separate implementations of a dynamic solution for generating persistent model classes:
o.e.p.sdo.helper.DynamicClassWriter
and
o.e.p.internal.dynamicpersist.BaseEntityClassLoader
High-level Requirements :
- an in-memory model of the 'oNm' metadata can be realized into runtime artifacts, including generating persistent model classes.
- generated persistent model classes must work when mapped simultaneously by both an orm and oxm metadata model.
i.e. the generated classes cannot have - the existing multiple solutions for dynamic generation of persistent model classes is re-factored to a single common solution.