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.1"

(EclipseLink JPA 2.1 Implementation Status)
(EclipseLink JPA 2.1 Implementation Status)
Line 81: Line 81:
 
| Entity Graph
 
| Entity Graph
 
| In Progress
 
| In Progress
| {{bug|--- }}, [[---]]
+
| {{bug|397772 }}, [[EclipseLink/DesignDocs/397772|outline]]
 
| Proposed feature, currently undefined
 
| Proposed feature, currently undefined
 
|}
 
|}

Revision as of 13:15, 28 January 2013


EclipseLink JPA 2.1 Implementation Status

This page contains a summary of features required for EclipseLink to implement JPA 2.1 (JSR 338) specification requirements. As the JSR 338 specification is currently a work in progress and none of the features completed under this task should be considered finalized until the final specification is approved. Any feature below could change substantially going forward.

Feature Status Links Description
JPA 2.1 Support In progress bug 338610 tracking bug
Criteria Bulk Update/Delete Completed bug 350469, outline Implementations of Bulk Update and Delete in the Criteria Query framework
Stored Procedure Queries Completed bug 350487, outline Definition and execution of Stored Procedures
JPQL - Arithmetic expressions with sub-queries. Completed bug 350597, outline use subqueries as arguments for arithmetic expressions.
ConstructorResult support in SQLResultsetMappings Completed bug 350727, outline Returning non Entity class instances from Native SQL queries.
Runtime definition of Named Queries Completed bug 350728, outline Allows queries created at runtime to be recorded as Named Queries
Generic Query function support Completed bug 350843, outline Provides JPQL support for SQL functions not specified in the spec
Injectable Entity Listeners Completed bug 366748, outline Allows queries created at runtime to be recorded as Named Queries
Joins with On clause Completed bug 367452 , outline Allows refinement of a Join expression through the use of the ON clause
Treat support In Progress bug 374771 , outline Allows relationship joins to be treated as a subclass of the join type.
Converter Completed bug 374688 , outline Provides conversion from an attribute type and value to the corresponding database type and value
Unsynchronized Persistence Contexts Completed bug 374818 , outline A new type of Persistence Context will be added to the specification that does not automatically associate with a currently active transaction.
DDL Generation In Progress bug 389090 , outline DDL generation as required by the specification.
Entity Graph In Progress bug 397772 , outline Proposed feature, currently undefined

Bug Queries and Reports

Goals/Requirements

EclipseLink will introduce JPA 2.1 features with the following goals in mind:

  1. Remain a compliant JPA 2.0 implementation during the development of 2.1 functionality. This is a major requirement.
  2. Conform with the Eclipse IP process and rules. This means that the use of any updated persistence libraries and their source must come into the project through proper IP review procedures.
  3. All new features involving changes to JPA's ORM-XML schema must be reflected in Eclipse-ORM.XML. This should be done in such a way that changes during the evolution of the specification are minimized.
  4. Where possible any new features added for JPA 2.1 should also be available to users of the native EclipseLink bootstraping. Accessibility through the native API can be limited to programmatic access and configuration.
    • Where available EclipseLink users using JPA 2.0 or older will be able to access 2.1 preview functionality through native EclipseLink API or metadata


Types of Changes

The JPA 2.1 expert group is attempting to evolve this new specification to remain backwards compatible with JPA 1.0 and JPA 2.0. The scope of its work will involve changes of various types with different effects on EclipseLink.

  1. Metadata Changes
    1. New Annotations
    2. New structures in the persistence.xml XSD
    3. New structures in the ORM.XML XSD
  2. API Changes
    1. New interfaces
    2. New methods on existing interfaces

Development Approach

We will be developing this functionality within the main product stream. Specification defined interfaces will be created and packaged within a javax.persistence_2.1 bundle/jar for users who wish to preview the functionality. Our backward compatible with JPA 1.0 strategy is to be determined.

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

Back to the top