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.
EclipseLink/Development/JPA 2.0/nested embedding
< EclipseLink | Development | JPA 2.0
Revision as of 14:43, 22 September 2008 by Michael.obrien.oracle.com (Talk | contribs) (New page: = Nested Embedding = JPA 2.0 Root | [http://bugs.eclipse.org/207823 Enhancement Request] ==References== *See section 2.1.5 and 9.1.34 "Embeddable Cl...)
Contents
Nested Embedding
JPA 2.0 Root | Enhancement Request
References
- See section 2.1.5 and 9.1.34 "Embeddable Classes"/"Embeddable Annotation" of the JSR-220 JPA 1.0 API Specification
- See section 2.5, 2.6 and 9.1.12 "Embeddable Classes" of the JSR-317 JPA 2.0 API Specification
Issue Summary
- I1: Access type for an embeddable is determined by the entity or the embeddable in which it is embedded - see 2.5 of the spec.
General Solution
Analysis
- In the JPA 2.0 specification, the following changes to the description of embeddable classes are made.
- Collections of embeddables are supported
- @EmbeddedId annotation is used when the the composite primary key of an entity or mapped superclass is an embeddable
Design
Test Model
The following test model from eclipselink.jpa.test/org.eclipse.persistence.testing.models.jpa.complexaggregate.HockeyTeam will be used. The embeddable classes Vitals, TeamVitals and PersonalVitals are bound to their owning Entity (HockeyPlayer) and are not sharable in HockeyTeam or Role.
Implementation
Work Required
- For all tests verify that both JPA and ORM implementations adhere to the JPA 2.0 specification
- Extend test model in eclipselink.jpa.test
- Add model that includes an @EmbeddedId embedded composite primary key