Jump to: navigation, search

EclipseLink/Development/JPA2.0/container support

< EclipseLink‎ | Development
Revision as of 15:16, 10 August 2010 by Michael.obrien.oracle.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Application Server Support

JPA 2.0 Root | Enhancement Request

Issue Summary

Going forward we will need to ensure that we can support deploying against a 1.0 compliant application server using new EclipseLink versions with JPA 2.0 support.

As a start WebLogic and GlassFish should be supported.

We will also need to ensure that a JPA 2.0 application can be deployed against a JPA 1.0 compliant container using the new EclipseLink libraries.

General Solution

EclipseLink Requirements

We will be developing this functionality within the main product stream. Specification defined interfaces will be created and packaged within a javax.persistence_2.0 bundle/jar for users who wish to preview the functionality. To remain backward compatible with JPA 1.0 we will be packaging any interfaces we must link with for JPA 2.0 within the eclipselink JPA bundle/jar. As this bundle/jar will not contain the EMF API users will be required to choose their JPA version by using the appropriate persistence bundle/jar. Not bundling all the interfaces allows us to produce a single EclipseLink JPA bundle/jar while alleviating the concern of user's hitting preview code when they do not expect to. Class file to be included in EclipseLink JPA bundle

   * javax.persistence.Cache
   * javax.persistence.Access
   * javax.persistence.AccessType
   * javax.persistence.LockModeType
   * javax.persistence.LockTimeoutException
   * javax.persistence.PessimisticLockException 

Metadata Changes

The following changes need to be handled keeping the backwards compatibility to JPA 1.0 goals in mind:

   * New Annotations
   * Modified Annotations
   * Changes to the XML Schemas
   * new Interfaces
   * reference to new interfaces

Work Required

  1. Investigation
    approx 2 days - getting environments up
    approx 5 days - prototyping an preparing recommendation
    approx 3 days - getting build scripts changes and deliverables created