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/JPA2.0/container support"

(New page: = Application Server Support = JPA 2.0 Root | [http://bugs.eclipse.org/249213 Enhancement Request] ==Issue Summary== Going forward we will need to e...)
 
Line 15: Line 15:
  
 
Shared libraries should be investigated first but  other options may be available.  Replacing server jars should not be considered as an option
 
Shared libraries should be investigated first but  other options may be available.  Replacing server jars should not be considered as an option
 +
 +
=== 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==
 
==Work Required==

Revision as of 09:17, 1 April 2009

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

Shared libraries should be investigated first but other options may be available. Replacing server jars should not be considered as an option

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

Back to the top