Hibernate - Java Persistence API (JPA) Training

Hibernate - Java Persistence API (JPA) Training

This Hibernate JPA course offers a comprehensive and detail-oriented treatment of the Java Persistence API (JPA) using Hibernate for developers interested in implementing persistence tiers for enterprise applications. We cover JPA basics including simple object/relational concepts and annotations, persistence contexts and entity managers, and configuration via persistence.xml.

 

Description Days Price (exc vat)

Java Hibernate (JPA)*

3 ZAR  USD
R 14,500 $ 1,250
  • Lunch, refreshments and training material included.
  • Class start at 9:00am for 9:30am
  • South Africa training locations: Johannesburg, Cape Town, Durban
  • Global training locations: USA, Candana, UK, Dubai, Europe

Prerequisites

All delegates must have at least one year of full-time Java™ development experience and an excellent understanding of relational databases and SQL.

Course Outline

 

Introduction to Hibernate JPA

  • Object/Relational Mapping
  • Mismatches Between Relational and Object Models
  • The Java Persistence API
  • JPA History
  • JPA Architecture
  • Entity Metadata
  • The Entity Manager
  • JPA Providers

Object/Relational Mapping

  • Annotations
  • JavaBean Standards
  • Property, Field, and Mixed Access
  • Table and Column Mapping
  • Primary Keys and Generation
  • Type Mappings
  • Temporal and Enumerated Types
  • Embedded Types
  • Entity Relationships
  • @ManyToOne Relationships
  • @OneToOne Relationships
  • @OneToMany Relationships
  • @ManyToMany Relationships
  • Eager and Lazy Loading

Entity Managers

  • Putting Entities to Work
  • persistence.xml
  • Entity State and Transitions
  • Managing Transactions
  • Persistence Operations
  • Creating Queries
  • Named Queries
  • Query Parameters
  • Native Queries

JPQL

  • The Java Persistence Query Language
  • Query Structure
  • Path Expressions
  • Filtering
  • Scalar Functions
  • Operators and Precedence
  • between, like, in
  • is null, is empty
  • Ordering
  • Aliases
  • Grouping
  • Aggregate Functions
  • Joins
  • Constructors

Advanced Mappings

  • Inheritance Strategies
  • Single-Table Strategy
  • Joined-Table Strategy
  • Table-Per-Concrete-Class Strategy
  • Querying Over Inheritance Relationships
  • Secondary Tables
  • Composite Primary Keys
  • @IdClass and @EmbeddedId
  • Derived Identifiers
  • @ElementCollection
  • Default Values
  • @Version Fields
  • Cascading and Orphan Removal
  • Detachment and Merging

The Criteria API

  • History of the Criteria API
  • Criteria Query Structure
  • The MetaModel API and Query Type Safety
  • Tuples
  • Joins
  • Predicates
  • Building Expressions
  • Ordering
  • Grouping
  • Encapsulating Persistence Logic
  • Façades
  • Range Queries

Lifecycle and Validation

  • Lifecycle Events
  • Method Annotations
  • Entity Listeners
  • JSR-303 Validation
  • Constraint Annotations
  • Validation Modes
  • Validation Groups

Locking and Caching

  • Concurrency
  • Optimistic Locking
  • Optimistic Read Locking
  • Optimistic Write Locking
  • Pessimistic Locking
  • Caching
  • Persistence Context as Transactional Cache
  • Shared (2nd-level) Cache
  • Locking and Caching "Do's and Don'ts"