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/Dynamic"

(New page: = Development of Dynamic Persistence in EclipseLink JPA = This page captures the functional requirements and design of a generic dynamic persistence solution that will allow consumers to ...)
 
(Functional Requirements)
Line 6: Line 6:
  
 
# Ability to use dynamic persistence through standard JPA metadata and interfaces as well as leveraging advanced EclipseLink JPA features
 
# Ability to use dynamic persistence through standard JPA metadata and interfaces as well as leveraging advanced EclipseLink JPA features
## Specify mapping metadata using only standard JPA orm.xml or eclipselink-orm.xml.  
+
## Specify mapping metadata using persistence.xml and eclipselink-orm.xml.  
 
##  
 
##  
 +
 
# Common abstract base class enabling
 
# Common abstract base class enabling
 +
 +
# Ability to use dynamic persistence through MOXy mappings
 +
 +
# Ability to use dynamic persistence within DBWS to share common infrastructure
 +
 +
# Ability to use dynamic persistence within SDO to share common infrastructure
 +
 +
=== Future Features (Current Limitations) ===
 +
 +
In order to control the scope of this feature the following limitations have been intended and are listed here as potential future enhancements.
 +
 +
# '''Flexible Base Class''': This feature assumes the dynamic entity base class. In the future users may want the flexibility to specify a class of their own.
 +
# '''LimitedMapping Capability''': This feature does not provide support for all mapping types. The mappings currently not supported include:
 +
#* Inheritance
 +
#* Embedded/EmbeddedId
 +
#* Composite primary keys
 +
# '''Hybrid Classes''': This feature only supports ''DynamicEntity'' persistent classes. In the future developers may want the ability to combine static java classes with one or more attributes accessed dynamically. The ''DynamicEntityImpl'' class provides support for lazy loading, fetch-groups, and attribute change-tracking. Combining this with traditional static attributes and weaving complex.
 +
# '''Native ORM''': This feature relies on the JPA metadata processing of eclipselink-orm.xml. When this XML is supported through the native API then dynamic persistence should function as well
  
 
== Design ==
 
== Design ==

Revision as of 06:26, 13 November 2008

Development of Dynamic Persistence in EclipseLink JPA

This page captures the functional requirements and design of a generic dynamic persistence solution that will allow consumers to specify their mappings using only using XML. The purpose of dynamic persistence is to enable simplified data access where only mapping information is required and no concrete Java model is required.

Functional Requirements

  1. Ability to use dynamic persistence through standard JPA metadata and interfaces as well as leveraging advanced EclipseLink JPA features
    1. Specify mapping metadata using persistence.xml and eclipselink-orm.xml.
  1. Common abstract base class enabling
  1. Ability to use dynamic persistence through MOXy mappings
  1. Ability to use dynamic persistence within DBWS to share common infrastructure
  1. Ability to use dynamic persistence within SDO to share common infrastructure

Future Features (Current Limitations)

In order to control the scope of this feature the following limitations have been intended and are listed here as potential future enhancements.

  1. Flexible Base Class: This feature assumes the dynamic entity base class. In the future users may want the flexibility to specify a class of their own.
  2. LimitedMapping Capability: This feature does not provide support for all mapping types. The mappings currently not supported include:
    • Inheritance
    • Embedded/EmbeddedId
    • Composite primary keys
  3. Hybrid Classes: This feature only supports DynamicEntity persistent classes. In the future developers may want the ability to combine static java classes with one or more attributes accessed dynamically. The DynamicEntityImpl class provides support for lazy loading, fetch-groups, and attribute change-tracking. Combining this with traditional static attributes and weaving complex.
  4. Native ORM: This feature relies on the JPA metadata processing of eclipselink-orm.xml. When this XML is supported through the native API then dynamic persistence should function as well

Design

JPA Configuration

 

Back to the top