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/Release/2.1.0"

(JPA)
 
(28 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
= EclipseLink 2.1.0 Release Notes =
 
= EclipseLink 2.1.0 Release Notes =
  
The EclipseLink 2.1 (Helios) release focuses on providing advanced persistence features for user of relational, XML and Web Services to expose advanced persistence features that naturally extend the industry standards in these spaces.
+
The EclipseLink 2.1 (Helios) release focuses on providing advanced persistence features for user of relational, XML and Web Services to expose extended persistence features that naturally extend the industry standards in these spaces.
 
+
Release under development see [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipselink/project-info/plans/2_1_0.xml 2.1.0 Plan]
+
  
 
<div style="float:right;width:300px">
 
<div style="float:right;width:300px">
 
<div style="background:#ffffff;width:275px" align="center">
 
<div style="background:#ffffff;width:275px" align="center">
==[[Image:Go-bottom.png]][http://www.eclipse.org/eclipselink/downloads/index.php#2.1.0 Download EclipseLink 2.1.0]==
+
==[[Image:Go-bottom.png]][http://www.eclipse.org/eclipselink/downloads/2.1.0 Download EclipseLink 2.1.0]==
 
__TOC__
 
__TOC__
 
</div>
 
</div>
 
</div>
 
</div>
 
  
 
== New and Noteworthy ==
 
== New and Noteworthy ==
  
 
=== JPA ===
 
=== JPA ===
* Advanced Querying
+
* Query inheritance hierarchies with casting using '''TREAT...AS'''. ...''[[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Query%20Casting|learn more]]''  
** [[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Query%20Casting|'''Casting''' in JPQL with TREAT...AS and in Criteria]]
+
* Addition batch read modes using '''IN''' and '''EXISTS'''. ...''[[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Batching%20reading%20using%20exist%20and%20IN|learn more]]''
** [[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Batching%20reading%20using%20exist%20and%20IN|'''Batch IN and EXISTS''' reading modes for queries and mappings]]
+
* Use database functions in JPQL with '''FUNC'''. ...''[[EclipseLink/Release/2.1.0/JPAQueryEnhancements#FUNC|learn more]] ''
** [[EclipseLink/Release/2.1.0/JPAQueryEnhancements#FUNC|'''FUNC''' in and JPQL to invoke database functions]]
+
* More flexible JPQL support with extended grammar - ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=219814#c10 bugs]) - [[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Query_Keys_in_Queries|Query Keys]], ...
** Removed unecessary JPQL restrictions and extended grammar - ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=219814#c10 details])
+
* Fetch, Load, Copy & Merge of partial entities using '''AttributeGroup'''. ... ''[[EclipseLink/Examples/JPA/AttributeGroup|learn more]]''
**: [[EclipseLink/Release/2.1.0/JPAQueryEnhancements#Query_Keys_in_Queries|Query Keys]]
+
* Further optimization of multiple table writes to group INSERT/UPDATE  
* [[EclipseLink/Examples/JPA/AttributeGroup|'''AttributeGroup''' support for Fetch, Load, Copy & Merge of partial entities]]
+
* '''eclipselink-orm.xml''': Map JPA models using extended EclipseLink JPA mappings in XML ... ''[[EclipseLink/Examples/JPA/EclipseLink-ORM.XML|learn more]]'' - ([https://bugs.eclipse.org/bugs/buglist.cgi?status_whiteboard_type=substring;query_format=advanced;status_whiteboard=eclipselink-orm.xml;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;resolution=FIXED;target_milestone=2.1;product=EclipseLink;classification=RT bugs])
* Optimized multiple table writes to group INSERT/UPDATE operations by table
+
* '''Dynamic Persistence''': JPA without requiring Java classes. ... ''[[EclipseLink/Examples/JPA/Dynamic|learn more]]''
* '''Improved eclipselink-orm.xml mapping support'''  
+
* New [http://www.eclipse.org/eclipselink/api/2.1/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.html SAPNetWeaver_7_1_Platform] Server Platform
*: ''Map JPA models using extended EclipseLink JPA mappings with ecipselink-orm.xml ...[[[EclipseLink/Examples/JPA/EclipseLink-ORM.XML|learn more]]''' - ([https://bugs.eclipse.org/bugs/buglist.cgi?status_whiteboard_type=substring;query_format=advanced;status_whiteboard=eclipselink-orm.xml;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;resolution=FIXED;target_milestone=2.1;product=EclipseLink;classification=RT bugs])
+
* New [http://www.eclipse.org/eclipselink/api/2.1/org/eclipse/persistence/platform/database/SymfowarePlatform.html SymfowarePlatform] Database Platform
* '''Platform Support'''
+
* '''OSGi JPA''': [[EclipseLink/Release/2.1.0/JPA in OSGi|Future compatibility for OSGi Enterprise specification for JPA]] as implemented in [http://www.eclipse.org/gemini/jpa/ Gemini JPA Project].
** New Server Platform - [http://www.eclipse.org/eclipselink/api/2.1/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.html SAPNetWeaver_7_1_Platform] configured using [http://www.eclipse.org/eclipselink/api/2.1/org/eclipse/persistence/config/TargetServer.html#SAPNetWeaver_7_1 TargetServer.SAPNetWeaver_7_1]
+
** New Database Platform - [http://www.eclipse.org/eclipselink/api/2.1/org/eclipse/persistence/platform/database/SymfowarePlatform.html SymfowarePlatform]
+
* '''OSGi JPA''': Future compatibility for OSGi Enterprise specification for JPA as implemented in [http://www.eclipse.org/gemini/jpa/ Gemini JPA Project].  
+
** Moved previous functionality into '''org.eclipse.persistence.jpa.osgi''' fragment which extends '''org.eclipse.persistence.jpa''' bundle
+
  
 
=== MOXy ===
 
=== MOXy ===
* [[EclipseLink/Examples/MOXy/EclipseLink-OXM.XML | '''Store MOXy mappings in XML''']]
+
* '''Store MOXy mappings in eclipselink-oxm.xml''': JAXB without annotations. ...[[EclipseLink/Examples/MOXy/EclipseLink-OXM.XML | ''learn more'']]
*: JAXB and extended mappings without annotations. Share domain model with other uses or maintain multiple XML binding for the same domain model.
+
* '''Mapping Enhancements''': @XmlPath, multi-dimensional arrays, untyped key based mappings
* Mapping Enhancements
+
*: @XmlPath, multi-dimensional arrays, untyped key based mappings
+
 
* '''Generate XSD''' from JAXB and '''MOXY's extended mappings'''
 
* '''Generate XSD''' from JAXB and '''MOXY's extended mappings'''
* [[EclipseLink/Examples/MOXy/Dynamic|'''Dynamic Persistence''']]: XML Binding without Java classes
+
* '''Dynamic Persistence''': XML Binding without Java classes. ...[[EclipseLink/Examples/MOXy/Dynamic|''learn more'']]
  
 
=== SDO ===
 
=== SDO ===
Line 52: Line 43:
  
  
=== Other Projects ===
+
=== Helios Projects leveraging EclipseLink===
  
 
Within the Helios release there are other projects that either include EclipseLink or offer complementary functionality.
 
Within the Helios release there are other projects that either include EclipseLink or offer complementary functionality.
Line 86: Line 77:
 
| There is a known dependency issue when building RCP applications using the <code>org.eclipse.persistence.moxy</code> bundle in combination with the <code>org.eclipse.core.runtime</code>. For more information and workarounds for this issue, please refer to {{bug|298318}}.
 
| There is a known dependency issue when building RCP applications using the <code>org.eclipse.persistence.moxy</code> bundle in combination with the <code>org.eclipse.core.runtime</code>. For more information and workarounds for this issue, please refer to {{bug|298318}}.
 
|}
 
|}
 +
 +
The following bug queries can be used by find known issues with specific feature areas. They return bugs reported against 2.1.
 +
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;version=2.1;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc;product=EclipseLink;classification=RT All bugs reported against 2.1]
 +
** By Component: [https://bugs.eclipse.org/bugs/buglist.cgi?classification=RT;component=JPA;product=EclipseLink;query_format=advanced;version=2.1;query_based_on=;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc JPA] [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;version=2.1;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc;component=MOXy;classification=RT;product=EclipseLink MOXy] [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;version=2.1;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc;component=SDO;classification=RT;product=EclipseLink SDO] [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;version=2.1;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc;component=DBWS;classification=RT;product=EclipseLink DBWS] [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;version=2.1;columnlist=bug_severity%2Cpriority%2Cversion%2Ctarget_milestone%2Cbug_status%2Creporter%2Cshort_desc;component=Foundation;classification=RT;product=EclipseLink Foundation]
  
 
== Resolved Issues ==
 
== Resolved Issues ==
Line 91: Line 87:
 
In addition to the features highlighted in the New and Noteworthy section this release also includes a substantial number of bug fixes and enhancement requests.  
 
In addition to the features highlighted in the New and Noteworthy section this release also includes a substantial number of bug fixes and enhancement requests.  
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed All Fixed Bugs and enhancement requests]
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed All Fixed Bugs and enhancement requests]
 +
*: Component: [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=Foundation;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed Foundation], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=JPA;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed JPA], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=MOXy;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed MOXy], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=SDO;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed SDO], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=DBWS;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed DBWS], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=Utils;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed Utils], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=Examples;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed Examples], [https://bugs.eclipse.org/bugs/buglist.cgi?resolution=FIXED;classification=RT;query_based_on=2.1%20Fixed;query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;component=Documentation;product=EclipseLink;target_milestone=2.1;known_name=2.1%20Fixed Documentation]
  
 
===Property Name Generation from Introspector.decapitalize ===
 
===Property Name Generation from Introspector.decapitalize ===
 +
 
The decapitalize method will now leave the property name in uppercase if the first and second characters are uppercase. EclipseLink will use the property name as ID, as detailed in the specification.
 
The decapitalize method will now leave the property name in uppercase if the first and second characters are uppercase. EclipseLink will use the property name as ID, as detailed in the specification.
  
Note that this may require a change in some JPQL. For example, if previously you had a method with an annotation such as '''getCCustomers''' that would have properties named '''cCustomers''', you will now have '''Customers'''.
+
Note that this may require a change in some JPQL. For example, if previously you had a method with an annotation such as '''getCCustomers''' that would previously have had a property named '''cCustomers''', you will now need to use property '''CCustomers'''.
  
 
== Deprecated Functionality ==
 
== Deprecated Functionality ==
Line 130: Line 128:
  
 
For more information about future planned EclipseLink releases and patch sets please refer to the releases section of the [http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink project summary].
 
For more information about future planned EclipseLink releases and patch sets please refer to the releases section of the [http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink project summary].
 +
 +
[[Category:EclipseLink|Release/2.1.0]]

Latest revision as of 14:45, 25 October 2011

HeliosEclipseLink

EclipseLink 2.1.0 Release Notes

The EclipseLink 2.1 (Helios) release focuses on providing advanced persistence features for user of relational, XML and Web Services to expose extended persistence features that naturally extend the industry standards in these spaces.

New and Noteworthy

JPA

MOXy

  • Store MOXy mappings in eclipselink-oxm.xml: JAXB without annotations. ... learn more
  • Mapping Enhancements: @XmlPath, multi-dimensional arrays, untyped key based mappings
  • Generate XSD from JAXB and MOXY's extended mappings
  • Dynamic Persistence: XML Binding without Java classes. ...learn more

SDO

  • Added support for EclipseLink SDO usage with WebSphere and JBoss
  • Enhanced support for local helper contexts (including Java serialization for DataObjects associated with local helper contexts).

DBWS

  • Support DBWSBuilder-generated JAX-WS Provider on JRockit
  • Support for Eclipse WTP Dynamic Web Project structure


Helios Projects leveraging EclipseLink

Within the Helios release there are other projects that either include EclipseLink or offer complementary functionality.

Standards Based

  • JPA 2.0
  • JAXB 2.2
  • SDO 2.1.1

Known Issues

The following are known issues that have been identified as potentially effecting users of EclipseLink 2.1. For a list of all open bugs and enhancement requests please see the queries at EclipseLink/Bugs


Summary Details
ElementCollection of Embeddable does not support AttribuiteChangeTracking When using an element collecion of embeddables the underlying AggregateCollectionMapping does not support attribute change tracking. This will effect the use of AttributeGroup (CopyGroup and serialized FetchGroup).
EclipseLink JPA with OSGi In order to use EclipseLink 2.1 OSGi, you must use the org.eclipse.persistence.jpa bundle included with this release. This bundle provides support for Gemini, the reference implementation for the OSGI Java EE integration specifica
RCP Development with MOXy There is a known dependency issue when building RCP applications using the org.eclipse.persistence.moxy bundle in combination with the org.eclipse.core.runtime. For more information and workarounds for this issue, please refer to bug 298318.

The following bug queries can be used by find known issues with specific feature areas. They return bugs reported against 2.1.

Resolved Issues

In addition to the features highlighted in the New and Noteworthy section this release also includes a substantial number of bug fixes and enhancement requests.

Property Name Generation from Introspector.decapitalize

The decapitalize method will now leave the property name in uppercase if the first and second characters are uppercase. EclipseLink will use the property name as ID, as detailed in the specification.

Note that this may require a change in some JPQL. For example, if previously you had a method with an annotation such as getCCustomers that would previously have had a property named cCustomers, you will now need to use property CCustomers.

Deprecated Functionality

In EclipseLink 2.1 the following features/API have been deprecated. Please upgrade to the suggested alternatives to avoid issues in the future when these deprecated features/AIP might be removed.

Summary Details
ObjectCopyPolicy The ObjectCopyPolicy has been replaced with the CopyGroup. The full API from ObjectCopyPolicy is supported by CopyGroup requiring only a minor class name change in user code.
ObjectLevelReadQuery.addPartialAttribute Partial attribute queries have been deprecated and replaced with the use of FetchGroup
ReadObjectQuery.selectionKey (Vector) Replaced with the use of an object for single part keys and a CacheId for composite keys. The replacement API is: ReadObjectQuery#selectionId.
BasicMap, BasicCollection, CollectionTable Deprecated in 2.0, these native mappings and supported configuration annotations are now supported by JPA 2.0's ElementCollection mapping and supported configuration annotations and orm.xml.

Removed Functionality

TODO: Was any previously deprecated functionality removed or any functionality that could not be deprecated first removed?

Retention Policy

The EclipseLink 2.1 (Helios) release will remain available for download from the primary download page until the next release is shipped. At that point it will be moved to the previous releases where it remain for a minimum period of 2 years before becoming available for archival.

Future Releases

For more information about future planned EclipseLink releases and patch sets please refer to the releases section of the project summary.

Back to the top