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/JPA 2.0/metamodel api"

m (API)
m (Metamodel and Criteria packages interfaces API)
Line 48: Line 48:
 
== API ==
 
== API ==
 
===Metamodel and Criteria packages interfaces API===
 
===Metamodel and Criteria packages interfaces API===
 +
The following static UML class diagram that illustrates the relationship between the Criteria and Metamodel API's will serve as a basis for the metamodel API part of this work.
 +
 
[[Image:Uml_class_diagram_metamodel_criteria_packages.gif]]
 
[[Image:Uml_class_diagram_metamodel_criteria_packages.gif]]
 +
 
===Annotation Processors===
 
===Annotation Processors===
 
We require a design time annotation processing tool to create metamodel class files X_.
 
We require a design time annotation processing tool to create metamodel class files X_.

Revision as of 10:56, 4 March 2009

JPA 2.0: MetaModel API

JPA 2.0 Root | bug 266912

Date Committer(s) Description
March 3, 2009 gyorke Initial feature template
March 3, 2009 mobrien Start analysis

Summary

In JPA 2.0 the specification has defined standard APIs for representing the structure of a persistence unit model. This is referred to at the MetaModel APIs. There are two main aspects to providing this functionality. The first is the runtime model accessed from EntityManagerFactory.getMetaModel() and the second is the APT generated meta model classes. Our first goal is to provide functionality for runtime access.

For details see section 5.2 and 5.3 of Proposed Final Draft.

Work Estimate

  • Investigate EclipseLink Metamodel
    approx 3 days
  • Develop implementations of MetaModel or refactor current metamodel
    approx 10 days
  • APT investigation and prototype
    approx 5 days
  • APT tooling/testing
    approx 10 days

Concepts

Functional Requirements

  • Support runtime Metamodel APIs
  • Support APT generation of Canonical Metamodel classes

Design

Design Constraints

API

Metamodel and Criteria packages interfaces API

The following static UML class diagram that illustrates the relationship between the Criteria and Metamodel API's will serve as a basis for the metamodel API part of this work.

Uml class diagram metamodel criteria packages.gif

Annotation Processors

We require a design time annotation processing tool to create metamodel class files X_.

APT

APT is the annotation processing tool that has been shipped since Java 5.

Documentation

Implementation

Testing

Open 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

Decisions

This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # 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.

Back to the top