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.
EclipseLink/Training/JPA/BlackBelt
< EclipseLink | Training/JPA
Contents
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
- Graph Loading with minimal SQL
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