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/Training/JPA/BlackBelt"

(Course Outline)
(Outline)
Line 22: Line 22:
 
=== Outline  ===
 
=== Outline  ===
  
*Introducing EclipseLink JPA
+
* 1 - Course Introduction
*Configuration  
+
 +
* 2 - Configuration  
 
** JPA: persistence.xml, annotations, and orm.xml  
 
** JPA: persistence.xml, annotations, and orm.xml  
 
** EclipseLink JPA: PU Properties, annotations, eclipselink-orm.xml, and query hints  
 
** EclipseLink JPA: PU Properties, annotations, eclipselink-orm.xml, and query hints  
Line 30: Line 31:
 
** Server Platform
 
** Server Platform
  
* Mapping  
+
* 3 - Mapping  
 
** Additional Mapping Types
 
** Additional Mapping Types
 
** Private Owned
 
** Private Owned
  
* Diagnostics
+
* 4 - Entity Weaving
** Logging
+
** Profiling
+
** JMX/MBeans
+
 
+
* Entity Weaving
+
 
** Weaving features: Lazy Loading, Fetch Groups, Change Tracking, State Caching
 
** Weaving features: Lazy Loading, Fetch Groups, Change Tracking, State Caching
 
** Dynamic and Static usage
 
** Dynamic and Static usage
  
* Querying  
+
* 5 - Querying  
 
**   
 
**   
 
** Dynamic Querying using Expressions (native criteria)  
 
** Dynamic Querying using Expressions (native criteria)  
  
* Transactions  
+
* 6 - Transactions  
 
** Additional Locking options  
 
** Additional Locking options  
  
*Caching  
+
* 7 - Caching  
 
** Isolated Cache Usage  
 
** Isolated Cache Usage  
 
** Shared Cache Config  
 
** Shared Cache Config  
Line 57: Line 53:
 
*** Cache Coordination
 
*** Cache Coordination
  
* Customizing Behaviour
+
* 8 - Diagnostics
 +
** Logging
 +
** Profiling
 +
** JMX/MBeans
 +
 
 +
* 9 - Customizations
 
** Descriptor Policies: Instantiation, CloneCopy, ...
 
** Descriptor Policies: Instantiation, CloneCopy, ...
 
** JPA Entity events and Descriptor Events
 
** JPA Entity events and Descriptor Events
 
** Session Events  
 
** Session Events  
  
*Performance Tuning  
+
* 10 - Performance Tuning  
 
** Graph Loading with minimal SQL  
 
** Graph Loading with minimal SQL  
 
*** FETCH JOIN  
 
*** FETCH JOIN  

Revision as of 11:05, 25 September 2009

EclipseLink JPA Training: Black Belt

Course Under Development

This page describes the EclipseLink Black Belt (advanced) training course. The intent is produce a set of materials that are freely available and licensed under EPL & EDL so that community members can use these materials to train others.

Date Committer(s) Description
July 29, 2009 dclarke Initial Outline Proposed

Course Outline

Goal: Educate EclipseLink users on advanced usage of EclipseLink JPA

Outline

  • 1 - Course Introduction
  • 2 - Configuration
    • JPA: persistence.xml, annotations, and orm.xml
    • EclipseLink JPA: PU Properties, annotations, eclipselink-orm.xml, and query hints
    • EclipseLink native ORM: sessions.xml and deployment.xml
    • DatabasePlatform
    • Server Platform
  • 3 - Mapping
    • Additional Mapping Types
    • Private Owned
  • 4 - Entity Weaving
    • Weaving features: Lazy Loading, Fetch Groups, Change Tracking, State Caching
    • Dynamic and Static usage
  • 5 - Querying
    • Dynamic Querying using Expressions (native criteria)
  • 6 - Transactions
    • Additional Locking options
  • 7 - Caching
    • Isolated Cache Usage
    • Shared Cache Config
      • Cache Types: FULL, WEAK, SOFT_WEAK, HARD_WEAK, NONE
      • Invalidation/Expiration
      • Cache Coordination
  • 8 - Diagnostics
    • Logging
    • Profiling
    • JMX/MBeans
  • 9 - Customizations
    • Descriptor Policies: Instantiation, CloneCopy, ...
    • JPA Entity events and Descriptor Events
    • Session Events
  • 10 - Performance Tuning
    • Graph Loading with minimal SQL
      • FETCH JOIN
      • Joining and Batching Query Hints
    • Projections versus Entity Queries
    • Leveraging the cache
      • Pre-loading
      • Cache Effectiveness

Additional Topics

Depending on the application architecture being used there are a variety of additional topics which may be covered.

  • EclipseLink JPA in a multi-tiered architecture
  • EclipseLink JPA in a rich client application (JavaSE)
  • EclipseLink JPA in an OSGi container

Courseware Development

The courseware will be developed as part of the EclipseLink project in trunk @ /svnroot/rt/org.eclipse.persistence/trunk/documentation/courseware

Back to the top