Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be 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/canonical model generation"

(Configuring and using within Eclipse Galileo)
m (moved info to elug)
 
(46 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
==Issue Summary==
 
==Issue Summary==
With the new Criteria API from the JPA 2.0 spec, EclipseLink will provide a way to produce static metamodel classes corresponding to the entities, mapped superclasses, and embeddable classes in the persistence unit. A static metamodel class models the persistent state and relationships of the corresponding managed class.
+
With the new Criteria API from the JPA 2.0 spec, EclipseLink can now produce static metamodel classes that correspond to the entities, mapped superclasses, and embeddable classes in the persistence unit. A static metamodel class models the persistent state and relationships of the corresponding managed class.
  
For portability, EclipseLink will generate the canonical metamodel as defined in section 6.2.1.1.
+
For portability, EclipseLink generates this canonical metamodel as defined in section 6.2.1.1 of the specification.
  
 
==General solution==
 
==General solution==
EclipseLink will employ the annotation processor tool (APT) in conjunction with its existing metadata processing of annotations and XML to generate the static metamodel classes.
+
EclipseLink generates the static metamodel classes by using the the annotation processor tool (APT) in conjunction with its existing metadata processing of annotations.
  
 
For more information on APT, see: http://java.sun.com/j2se/1.5.0/docs/guide/apt/GettingStarted.html
 
For more information on APT, see: http://java.sun.com/j2se/1.5.0/docs/guide/apt/GettingStarted.html
  
==Metadata processing==
 
  
== Configuring and using within Eclipse Galileo ==
+
==End-user information==
 +
For additional information, see [[UserGuide/JPA/Using_the_Canonical_Model_Generator_(ELUG)|Using the Canonical Model Generator]] in the EclipseLink User Guide.
  
The following steps outline how to configure the metamodel generation within the Eclipse IDE.
 
  
# Select '''Project''' - '''Properties'''
+
== Work schedule  ==
# Expand '''Java Compiler''' and select '''Annotation Processing'''.
+
# On the right, select the checkbox '''Enable annotation processing'''
+
# In the text box for '''Generated Source Directory''' enter the name of the directory to which you would like to generate the metamodel classes
+
# By default, '''Processor options''' are needed. However, EclipseLink provides custom generation options if you would like to configure you metamodel classes differently then defined in the spec. See section ?? for valid processor options that can be used.provides you with custom
+
# Expand '''Annotation Processing''' and select '''Factory Path'''
+
  
== Configuring and using within ANT ==
+
# Development: 4 weeks
  
== 1.2.0 RC4 Library names ==
+
# Testing: 1 week
Currently the target release of EclipseLink 1.2.0 is RC4 which uses the following jar files names in the ZIP installer. Please note that the ZIP installer is the only distribution of EclipseLink including the modelgen JAR file.
+
 
+
# Services file (enables the the processor).
+
\eclipselink\jlib\jpa\eclipselink-jpa-modelgen_1.2.0.v20091016-r5565.jar
+
# javax.persistence library
+
\eclipselink\jlib\jpa\javax.persistence_2.0_preview.jar
+
# EclipseLink jar
+
\eclipselink\jlib\eclipselink.jar
+
 
+
== Troubleshooting ==
+
 
+
== Work schedule ==
+
 
+
== Future ==
+

Latest revision as of 13:30, 23 October 2009

Canonical model generation

JPA 2.0 Root | bug 267391

Discussion

Issue Summary

With the new Criteria API from the JPA 2.0 spec, EclipseLink can now produce static metamodel classes that correspond to the entities, mapped superclasses, and embeddable classes in the persistence unit. A static metamodel class models the persistent state and relationships of the corresponding managed class.

For portability, EclipseLink generates this canonical metamodel as defined in section 6.2.1.1 of the specification.

General solution

EclipseLink generates the static metamodel classes by using the the annotation processor tool (APT) in conjunction with its existing metadata processing of annotations.

For more information on APT, see: http://java.sun.com/j2se/1.5.0/docs/guide/apt/GettingStarted.html


End-user information

For additional information, see Using the Canonical Model Generator in the EclipseLink User Guide.


Work schedule

  1. Development: 4 weeks
  1. Testing: 1 week

Back to the top