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

EclipseLink/Training/JPA/BlackBelt

< EclipseLink‎ | Training/JPA
Revision as of 12:51, 25 September 2009 by Unnamed Poltroon (Talk) (Courseware Development)

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

Exercises

Requirements:

  • An IDE - the projects provided are for the Eclipse IDE but the exercises should be easily adjustable to any development environment
  • A Java EE 5 or better Container - A web container should also be usable but may not support dynamic entity weaving
  • EclipseLink
  • Exercises - initial projects and instructions

Exercise 1: Deploy & Test Simple App

Downloads

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

Back to the top