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/Examples/JPA/Employee"

(New page: <center>image:Catnicon.gif '''''UNDER CONSTRUCTION''''' image:Catnicon.gif</center> == EclipeLink JPA Employee Examples == This set of examples uses a common employee domain mode...)
 
Line 1: Line 1:
<center>[[image:Catnicon.gif]] '''''UNDER CONSTRUCTION''''' [[image:Catnicon.gif]]</center>
+
= EclipeLink JPA Employee Examples =
 
+
== EclipeLink JPA Employee Examples ==
+
  
 
This set of examples uses a common employee domain model and relational schema with various configuration approaches.
 
This set of examples uses a common employee domain model and relational schema with various configuration approaches.
 +
* '''Annotations''': JPA using standard and extended annotations
 +
* '''XML''': JPA using extended eclispelink-orm.xml mapping file
 +
* '''Dynamic''': Dynamic persistence (no Java classes) mapped using API and eclispelink-orm.xml
 +
 +
== Try them Out ==
 +
 +
 +
== Understanding the Examples ==
  
 
=== Employee Model ===
 
=== Employee Model ===
 +
 +
The employee model has existed in TopLink and EclipseLink since the mid 90's. The model has evolved a little over the years based on
 +
 +
=== JPA 2.0 Features ===
 +
 +
When updated for EclipseLink 2.1 several JPA 2.0 features were introduced to the model and its mappings. These include:
 +
* PhoneNumber now mapped using derived identifiers so its primary key of EMP_ID and PTYPE are mapped with PhoneNumber.owner and PhoneNumber.type. The previous redundant mapping of PhoneNumber.id has been removed.
 +
 +
=== Extended Mappings ===
 +
 +
While the majority of the Employee examples use pure JPA mappings several extensions offered by EclipseLink are highlgted including:
 +
* <code>Employee.gender</code> mapped to the enum Gender using a converter to store a single char code in the database instead of the full enum's name or oridinal position.
  
 
=== Configuration Options ===
 
=== Configuration Options ===

Revision as of 10:25, 23 June 2010

EclipeLink JPA Employee Examples

This set of examples uses a common employee domain model and relational schema with various configuration approaches.

  • Annotations: JPA using standard and extended annotations
  • XML: JPA using extended eclispelink-orm.xml mapping file
  • Dynamic: Dynamic persistence (no Java classes) mapped using API and eclispelink-orm.xml

Try them Out

Understanding the Examples

Employee Model

The employee model has existed in TopLink and EclipseLink since the mid 90's. The model has evolved a little over the years based on

JPA 2.0 Features

When updated for EclipseLink 2.1 several JPA 2.0 features were introduced to the model and its mappings. These include:

  • PhoneNumber now mapped using derived identifiers so its primary key of EMP_ID and PTYPE are mapped with PhoneNumber.owner and PhoneNumber.type. The previous redundant mapping of PhoneNumber.id has been removed.

Extended Mappings

While the majority of the Employee examples use pure JPA mappings several extensions offered by EclipseLink are highlgted including:

  • Employee.gender mapped to the enum Gender using a converter to store a single char code in the database instead of the full enum's name or oridinal position.

Configuration Options

  • Annotations
  • ORM XML
    • EclipseLink ORM
    • JPA ORM + EclipseLink ORM

Back to the top