Open menu

Java

Audience

This training course is aimed at developers who wish to implement an object-relational mapping solution using JPA 2.

Prerequisites

Delegates should have at least 6 months of Java programming experience and some familiarity with relational databases and SQL.

Duration

3 days. Hands-on.

This course is available on site only. Please call for details.

Course Objectives

The Java Persistence API (JPA) is a standard object-relational mapping (ORM) technology for Java Enterprise Edition applications. This course takes a detailed look at JPA 2, describing how to map complex relational structures and how to use the Java Persistence Query Language (JPQL) effectively.

Delegates will learn:

  • Understanding persistence in Java EE
  • Mapping classes to tables
  • Using JPA to query entities
  • Using advanced query techniques
  • Managing entity lifetimes
  • Mapping associations and collections
  • Mapping inheritance hierarchies
  • Using the Criteria API

Course Content

Persistence in Java EE
Entity beans.
EntityManager and Persistence Units.
Mapping entity classes to relational databases.
Providing metadata via annotations and XML.
Using the Java Persistence API.
Summary of JPA 2.0 features.

JPA Queries
Overview of Java Persistence Query Language (JPQL).
Lazy and eager Loading.
Queries.
Parameters.
Paging and scrolling.
Projections.
Aggregates.

Going Further with JPA Queries
Queries across relationships (inner joins, outer joins, fetch joins).
Batch operations.
Bulk updates.
Named queries.
Native queries.
Primary key generation.

Using the Criteria API
Overview of the Criteria API.
Building Criteria API queries.
Strongly typed query definitions.

Working with Persistent Objects
Entity lifecycle.
Entity identity.
Transient, persistent, and detached states.
Persistent object updates.

Mapping Collections and Associations
Fetching strategies.
Many-to-one.
Bidirectional many-to-one.
One-to-one.
Bidirectional one-to-one.
Many-to-many.
Bidirectional many-to-many.
Components.
Embedded objects.
Cascading.

Mapping Inheritance
Overview.
Inheritance mapping strategies.
Table per concrete class.
Table per subclass.
Table per hierarchy.
Unions.
Polymorphism.

Transaction Management
Transaction configuration.
Transaction API.
Transaction propagation.

Locking and Versioning
Optimistic locking and versioning.
Pessimistic locking.

Verhoef Training Ltd.

11 Kingsmead Square
Bath, BA1 2AB
United Kingdom

Tel: +44(0)1225 339705

Email: info@verhoef-training.co.uk

Become a Trainer

Ever thought about using your skills to help others?

Call us to find out about how you can teach for Verhoef.

Tel: +44(0)1225 339705