Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/2.4.0"

 
Line 21: Line 21:
 
* JPA
 
* JPA
 
** [[EclipseLink/Development/2.4.0/JPA-RS | '''JPA-RS''']]: An easy to use RESTful interface for interacting with JPA persistence units and EJB session bean methods. {{bug|377024}}
 
** [[EclipseLink/Development/2.4.0/JPA-RS | '''JPA-RS''']]: An easy to use RESTful interface for interacting with JPA persistence units and EJB session bean methods. {{bug|377024}}
** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338610 | SomeJPA 2.1 features for Java EE 7]
+
** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=338610 Some JPA 2.1 features for Java EE 7]
 
** '''Multi-tenancy - ''' [[DesignDocs/Multi-Tenancy/TablePerTenant | '''Table per Tenant''']]: The goal of this feature is to allow multiple application tenants to have a their own individual table per tenant. Table per tenant entities can be mixed with other multitenant types within the same persistence unit.  
 
** '''Multi-tenancy - ''' [[DesignDocs/Multi-Tenancy/TablePerTenant | '''Table per Tenant''']]: The goal of this feature is to allow multiple application tenants to have a their own individual table per tenant. Table per tenant entities can be mixed with other multitenant types within the same persistence unit.  
 
** [[EclipseLink/DesignDocs/371950 | '''Metadata caching''']]: Caching the metadata project so that the setup can avoid costs associated with reading in multiple orm.xml and annotation processing on entities within a persistence unit to rebuild it unnecessarily.  
 
** [[EclipseLink/DesignDocs/371950 | '''Metadata caching''']]: Caching the metadata project so that the setup can avoid costs associated with reading in multiple orm.xml and annotation processing on entities within a persistence unit to rebuild it unnecessarily.  

Latest revision as of 23:37, 20 June 2012

EclipseLink 2.4.0 Development Plans

This page is a working document for what is being planned and developed for EclipseLink 2.4.0, which is part of the Juno coordinated release shipping in June of 2012.

JVM

We will update the minimum VM-level for EclipseLink 2.4.0 from JDK 1.5 to JDK 1.6. See:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=377681


Infrastructure

  • Build
    • Tycho/Maven Migration Incorporate the use of Tycho to generate OSGi bundles using a manifest-first methodology. This will remove the need for BND, but will rely heavily upon developers properly maintaining the manifest files.
  • SCM
    • Git Migration Move existing SVN repository to Git. Actual migration will occur post-release, but follow-patches will be developed in Git.

Features

  • JPA
    • JPA-RS: An easy to use RESTful interface for interacting with JPA persistence units and EJB session bean methods. bug 377024
    • Some JPA 2.1 features for Java EE 7
    • Multi-tenancy - Table per Tenant: The goal of this feature is to allow multiple application tenants to have a their own individual table per tenant. Table per tenant entities can be mixed with other multitenant types within the same persistence unit.
    • Metadata caching: Caching the metadata project so that the setup can avoid costs associated with reading in multiple orm.xml and annotation processing on entities within a persistence unit to rebuild it unnecessarily.
    • Enhanced Schema Provisioning: Schema upgrade to handle application version upgrades. Upon request the Schmea will be extended to add additional tables, columns, indexes.
    • MetadataSource support for PU Properties: bug 373120 During the bootstrap of a JPA persistence unit the Metadatasource will provide additional PU properties that can come from an external source to customize the PU properties used in the EntityManagerFactory creation.
    • Gemini JPA: With the Gemini JPA 1.0 release scheduled to come out this summer the current solution available (which we have deprecated) need to be fully transitioned to leverage the Gemini solutions. This will involve updates or migration of examples but may also involve a coordinated Gemini release if feature work is included.
    • ER 356812: Database Change Event Cache Invalidation
    • ER 350484: Cache indexes
    • ER 312146: Enhanced JPQL
    • ER 362899: Support NoSQL Databases
  • MOXy
    • Object-JSON Mapping support: Ability to convert objects to/from JSON documents.
      • Simplifies creation of RESTful services - JAX-RS accepts both XML and JSON messages
      • Same flexibility as current object-to-XML mapping support
      • No additional compile-time dependencies other than standard JAXB APIs
      • Simplified usage with JAX-RS APIs
    • JAXB RI compatible functionality: Support for additional JAXB properties currently supported by the JAXB RI that are above and beyond the spec.
      • Namespace Prefix Mapping: Control declarations of namespace URIs and what prefixes they will be bound to
      • @XmlLocation: Specify a property on JAXB object to indicate object's XML location
      • IDResolver: Override the ID/IDREF processing of the JAXB runtime
      • IdentString: Customize the indents in the marshalled XML document
      • CharacterEscapeHandler: Customize the escaping of special characters
      • XML Declaration Control: JAXB 1.0 property replaced by Marshaller.JAXB_FRAGMENT in JAXB2.0
      • AccessorFactory property: Control access to class fields and properties
      • Cyclic references: Control how JAXB handles a cyclic reference in an object model when marshalling to XML
    • Creation of RESTful services using MOXy & JPA: A step-by-step guide on how to use EclipseLink 2.4 functionality to create these services
  • DBWS
    • Parse DDL to extract database metadata. Change the way type metadata from Oracle D/B is accessed by DBWSBuilder, providing support for the following key enhancement requests
      • 325124 - DBWS support for weakly-typed package REF CURSOR
      • 339909 - DBWS should support optional argument queries
      • 329435 - DBWS support for Anchored types (%ROWTYPE, %TYPE)
    • Other enhancements
      • 326953 - Batch SQL operations
      • 353417 - Non-associative PL/SQL collections
      • 363515 - PL/SQL scalar argument types
      • 366204 - Handle mix of PL/SQL and advanced JDBC types withing a stored procedure/function