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"

(Suggested Topics)
(Course Outline)
Line 18: Line 18:
 
== Course Outline  ==
 
== Course Outline  ==
  
=== Goals  ===
+
'''Goal:''' Educate EclipseLink users on advanced usage of EclipseLink JPA
 
+
*Educate attendees on EclipseLink specific functionality beyond standard JPA usage
+
  
 
=== Outline  ===
 
=== Outline  ===
Line 26: Line 24:
 
*Introducing EclipseLink JPA  
 
*Introducing EclipseLink JPA  
 
*Configuration  
 
*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  
**EclipseLink native ORM: sessions.xml and deployment.xml  
+
** EclipseLink native ORM: sessions.xml and deployment.xml  
*Mapping  
+
** DatabasePlatform
**Identity and Sequencing
+
** Server Platform
*Diagnostics  
+
 
**Logging  
+
* Mapping  
**Profiling  
+
** Additional Mapping Types
**JMX/MBeans  
+
** Private Owned
*Querying
+
 
**Query Definition and Execution: Dynamic, Named, Native
+
* Diagnostics  
**Dynamic Querying using Expressions (native criteria)  
+
** Logging  
*Transactions  
+
** Profiling  
**Concurrency protection - Optimistic and Pessimistic Locking  
+
** JMX/MBeans  
 +
 
 +
* Entity Weaving
 +
** Weaving features: Lazy Loading, Fetch Groups, Change Tracking, State Caching
 +
** Dynamic and Static usage
 +
 
 +
* Querying
 +
** 
 +
** Dynamic Querying using Expressions (native criteria)  
 +
 
 +
* Transactions  
 +
** Additional Locking options
 +
 
 
*Caching  
 
*Caching  
**Shared Cache Config
+
** Isolated Cache Usage  
**Isolated Cache Usage  
+
** Shared Cache Config
**Cache Coordination
+
*** Cache Types: FULL, WEAK, SOFT_WEAK, HARD_WEAK, NONE
*Performance Tuning
+
*** Invalidation/Expiration
**Graph Loading with minimal SQL
+
*** Cache Coordination
***FETCH JOIN
+
***Joining and Batching Query Hints
+
**Projections versus Entity Queries
+
**Leveraging the cache
+
***Pre-loading
+
***Cache Effectiveness
+
  
<br>
+
* Customizing Behaviour
 +
** Descriptor Policies: Instantiation, CloneCopy, ...
 +
** JPA Entity events and Descriptor Events
 +
** Session Events
 +
 
 +
*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  ==
 
== Additional Topics  ==

Revision as of 08:55, 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

  • Introducing EclipseLink JPA
  • 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
  • Mapping
    • Additional Mapping Types
    • Private Owned
  • Diagnostics
    • Logging
    • Profiling
    • JMX/MBeans
  • Entity Weaving
    • Weaving features: Lazy Loading, Fetch Groups, Change Tracking, State Caching
    • Dynamic and Static usage
  • Querying
    • Dynamic Querying using Expressions (native criteria)
  • Transactions
    • Additional Locking options
  • Caching
    • Isolated Cache Usage
    • Shared Cache Config
      • Cache Types: FULL, WEAK, SOFT_WEAK, HARD_WEAK, NONE
      • Invalidation/Expiration
      • Cache Coordination
  • Customizing Behaviour
    • Descriptor Policies: Instantiation, CloneCopy, ...
    • JPA Entity events and Descriptor Events
    • Session Events
  • 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