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.
Difference between revisions of "EclipseLink/Training/JPA/BlackBelt"
< EclipseLink | Training/JPA
(→Course Outline) |
(→Outline) |
||
Line 22: | Line 22: | ||
=== Outline === | === Outline === | ||
− | * | + | * 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 | ||
− | * | + | * 4 - 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 | ||
− | * | + | * 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
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