Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/DBWS/oNmMetadata"

(New 'oNm' Metadata)
Line 8: Line 8:
  
 
High-level Requirements:
 
High-level Requirements:
* since there are no persistent model classes on the classpath, the metadata must use only simple scalar objects (Strings,
+
* since 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.
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 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.
 
* an in-memory model of the metadata can be serialized to a file (or stream, URL, etc.) without persistent model classes on the classpath.

Revision as of 15:33, 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:

  • since 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.
  • the existing multiple solutions for dynamic generation of persistent model classes is re-factored to a single common solution.

Back to the top