Back to Courses

Hibernate Training

Normal Track: 45 Working Days (1.5 Hours Daily) | Fast Track: 30 Working Days (2 Hours Daily)
★ Featured

Overview

Hibernate Training provides an in-depth understanding of the most popular Object Relational Mapping (ORM) framework for Java. This course helps developers learn how to efficiently map Java objects to relational database tables, manage transactions, optimize performance, and integrate Hibernate with Java EE frameworks. Through hands-on examples, participants will gain the expertise needed to build scalable, maintainable, and high-performing persistence layers using Hibernate.

Who Can Attend

Course Content

Introduction to Hibernate

  • Overview and Advantages of Hibernate compared to JDBC
  • Understanding ORM (Object Relational Mapping)
  • Hibernate Resources: Configuration File, Mapping File, Persistent Class, and Client Application
  • Hibernate Architecture and Workflow

Installation and Setup

  • Hibernate Installation and Directory Structure
  • Setting up Hibernate in Eclipse and NetBeans IDE
  • Creating First Hibernate Application

Hibernate Data Types and API

  • Hibernate Data Types Overview
  • Understanding Hibernate Core API Components
  • Configuration, SessionFactory, Session, and Transaction Interfaces
  • Object Lifecycle in Hibernate (Transient, Persistent, Detached)
  • CRUD Operations using Session Methods (save, persist, update, merge, delete, load, get)

Primary Key Generators and Versioning

  • Primary Key Generator Strategies: Assigned, Increment, Sequence, Hilo, Seqhilo, Identity, Foreign, Native, UUID, Custom
  • Entity Versioning and Automatic Updates

Hibernate Query Language (HQL)

  • Introduction to HQL and its Advantages
  • Query Syntax and Examples
  • Joins in Hibernate
  • Batch Processing and Native SQL Queries

Criteria API and Projections

  • Introduction to Criteria API
  • Filtering, Sorting, and Paginating Data
  • Using Projections for Selective Data Retrieval

Mapping Strategies

  • Inheritance Mapping: Table per Class, Table per Subclass, Table per Concrete Class
  • Component Mapping and Custom Mappings
  • Collection Mapping: List, Set, Map, Bag, Array
  • Sorting and Indexing Collections
  • Association Mapping: One-to-One, One-to-Many, Many-to-One, Many-to-Many
  • Understanding Unidirectional and Bidirectional Relationships
  • Explanation of Inverse and Cascade Attributes

Caching and Performance Optimization

  • First-Level Cache (Session Cache)
  • Second-Level Cache (SessionFactory Cache)
  • Query-Level Cache
  • Integrating EHCache or Other Third-Party Cache Providers

Connection Pooling and Transactions

  • Understanding Hibernate Connection Pooling
  • Default, Server-Supplied, and Third-Party Connection Pools
  • Transaction Management and Concurrency Control
  • Programmatic Transactions using JTA
  • Optimistic and Pessimistic Locking Techniques

Advanced Hibernate Features

  • Pagination and Query Optimization
  • Hibernate Filters and Interceptors
  • Working with Multiple Databases (Oracle, HypersonicSQL)
  • Using Annotations in Hibernate

Framework Integration

  • Integrating Hibernate with Servlets
  • Integrating Hibernate with Struts Framework
  • Developing Complete Web Applications using Hibernate