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

EclipseLink/Development/DBWS/oNmMetadata

< EclipseLink‎ | Development‎ | DBWS
Revision as of 15:39, 2 June 2009 by Unnamed Poltroon (Talk) (Dynamic Persistent Model Classes)

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. a generated class must support the following: a row is retrieved from the database, built into an object and that very same object is serialized to XML (and vice-versa).
  • the existing multiple solutions for dynamic generation of persistent model classes is re-factored to a single common solution.

Back to the top