Introduction to Hibernate

2 Day Course
Hands On

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


Hibernate is a popular Object/Relational Mapping framework that enables developers to write applications whose data persists in a database beyond the lifetime of the application that uses the data.

The Introduction to Hibernate course focuses on the practical aspects of using Hibernate as part of the technology stack. Attendees will learn how to develop persistent classes following natural Object-oriented idioms including inheritance, polymorphism, association, composition, and the Java collections framework.

The course uses Hibernate 5.2, and is based around a series of hands-on practical exercises and examples, where attendees will learn how to use Hibernate to produce high-performance, scalable and reliable software that manages critical data.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.


This course aims to provide the delegate with the knowledge to be able to:

  • Configure JPA and Hibernate
  • Map Java objects to relational tables
  • Map object associations to relationships
  • Manage transactions
  • Create and retrieve persistent objects
  • Manipulate persistent objects

Target Audience

The Introduction to Hibernate course is aimed at architects, programmers, engineers, managers and those involved in the development of complex enterprise-level Java applications.

This course is aimed specifically at those using Java as the core development language.

Additional Information

  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Collapse all

Introduction to Hibernate (11 topics)

  • Why ORM?
  • Choosing Hibernate
  • Hibernate Architecture
  • Hibernate Setup
  • Downloading Hibernate
  • Installing Hibernate
  • Hibernate Configuration
  • Hibernate Properties
  • Example MySQL Configuration
  • Example Oracle Configuration
  • Example Derby Configuration

Using Hibernate (11 topics)

  • Hibernate Mapping
  • Mapping with Annotations
  • Hibernate Session
  • Hibernate Session: A Deeper Look
  • Hibernate Transactions
  • Transaction Properties
  • Transaction Rollbacks
  • Transaction API
  • Hibernate Entities
  • Hibernate Versioning
  • Hibernate Logging

Hibernate Mapping (17 topics)

  • Mapping Classes
  • Entity and Value Types
  • Value Types
  • Embeddable Types
  • Key Generation Strategies
  • Identity Strategy
  • Sequence Strategy
  • Table Strategy
  • Auto Strategy
  • Inheritance Mapping
  • Table Per Class
  • Table Per Subclass
  • Table Per Concrete Class
  • Relationship Mapping
  • Understanding Relationships
  • One-to-One Associations
  • One-to-Many Associations

Querying Persistent Objects (15 topics)

  • Hibernate Query Language
  • HQL Expressions
  • HQL Functions
  • HQL Queries
  • Sample Queries
  • Polymorphic Queries
  • Scrollable Result Sets
  • Named Queries
  • Using Joins
  • Hibernate Caching
  • Caching Levels
  • Query Caching
  • Grouping and Subqueries
  • Binding Parameters
  • Criteria Query

The Hibernate Environment (4 topics)

  • The session manager
  • Transitive persistence
  • Dealing with long-running transactions
  • Locking implications

Advanced Mapping (3 topics)

  • Mapping to collection classes
  • Managing multiplicity: one-to-many, many-to-many
  • Custom mapping types

Source Files (4 topics)

  • Creating the SessionFactory
  • Fetching strategies
  • The n+1 issue and its solution
  • Lazy (and aggressive) fetching strategies

Performance Considerations (2 topics)

  • First- and second-level caching
  • Monitoring and tuning Hibernate-generated SQL

Hibernate and JPA (4 topics)

  • Comparison of Hibernate with the Java Persistence API
  • Pros and Cons of Hibernate versus JPA in an EJB 3
  • Environment
  • Best of both worlds: Hibernate EntityManager

Hibernate Tools (4 topics)

  • Automatic schema generation
  • Automatic POJO generation
  • Accommodating existing schemas
  • The Hibernate console and mapping editor

Hibernate 5 New Features (7 topics)

  • Enhanced Hibernate Search
  • Hibernate Validator
  • Improved Java 8 Support
  • Bootstrapping API
  • A look at Hibernate OGM
  • ByteBuddy Enhancements
  • Hibernate Multi-tenancy


Delegates attending this course should have experience programming with Java. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 course. Some exposure to JDBC would also be useful. JDBC is covered on our Java Programming 2 course, attendance of this course would be beneficial

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

  • Java Developer

    This 5-day course provides the skills required to build object-oriented apps using Java that exploit all of the fundamental elements of the language.

    5 Day Course Hands On Training Course Code JAVADEV
    Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Oct Nov Dec Jan Feb Mar
Virtual Classroom (London)
3 Days $1,810

Course PDF


Share this Course


Recommend this Course