Java Mentor

Learn from professional

  • Increase font size
  • Default font size
  • Decrease font size
Home Framework Training Hibernate Training

Hibernate Course

Course Objective

Learn the architecture of Hibernate

Know how to setup and configure Hibernate for a Java project

Learn to map Java classes and object associations to relational database tables with Hibernate mapping files

Study Hibernate’s strategies for mapping Java inheritance trees to relational database tables

Learn the Hibernate Query Language and Criteria for retrieving Java objects

Explore Hibernate’s Caching Architecture.

Course Syllabus

Object Persistence

Object/Relational Paradigms

O/R Mismatch

Object Relational Mapping (ORM)

Java ORM/Persistent Frameworks

Hibernate Architecture

Hibernate Architecture and API

Hibernate Installation/Setup

Configuration

Configuration Properties

Mapping Files

Persistent Classes

POJOs

JavaBeans

Basic Mapping

Class to Table Mappings

Property Mapping

Identifiers

Generators

Natural Keys

Identifier Exposure

Quoting SQL Tables and Columns

Working with Persistent Objects

Entity Lifecycle

Transient State

Persistent State

Persistent Object Updates and Automatic Dirty Checking

Detatched State

Deleted

Object Identifiers Revisited

Merge

Components

Domain Model

Entities and Values

Components

Associations

Many-to-one

Bidirectional Many-to-one

Other Collections

Many-to-one List

Many-to-one Map

Many-to-one Bag

Many-to-one Array

Other Associations

One-to-one

Bidirectional One-to-one

Many-to-many

Bidirectional Many-to-many

Many-to-many Identifier Bag

Value Type Collections

Collections of Value Types

Collections of Components

Sorting Collections

Inheritance

Inheritance Mapping Strategies

Table per concrete class

Table per subclass

Table per hierarchy

Inheritance Mapping Pros/Cons

Polymorphism

Table per concrete class with unions

Choosing an Inheritance Strategy

Transitive Persistence

Lazy Loading

Proxies

Eager Loading

What’s a Proxy?

Detached Objects and Proxies

Polymorphic Associations Revisited

Custom Mapping

Custom Mapping Types

UserType

Enumerations

HQL

Hibernate Object Fetching Options

Hibernate Query

HQL Parameters

Named Queries

Native SQL

Criteria

Restrictions

Query By Example

Scrolling

Pagination

Query Hints

Query Option Pros/Cons

Transactions and Concurrency

The Java Transaction

Hibernate Transaction Configuration

Hibernate Transaction API

Concurrency

Isolation Levels

Optimistic Locking

Versioning

Optimistic Locking without Versioning

Pessimistic Locking