JA08 - Hibernate Development
Duration3 Days (customisation)

Course Description

Hibernate is a popular object-relational mapping framework for Java applications. Using Hibernate, you can implement enterprise applications based on objects, relying on Hibernate to map the objects to persistent storage in the database.

This course describes Hibernate ORM techniques, showing how to map complex data relations to object hierarchies and how to manage the lifetime and persistence of these objects.


At least 6 months Java programming experience. Familiarity with relational databases and SQL.


What you will learn:

  • Understanding mapping and API choices
  • Mapping classes to tables
  • Using JPA and/or HQL to query entities
  • Using advanced query techniques
  • Managing entity lifetimes
  • Mapping associations and collections
  • Mapping inheritance hierarchies
  • Using the Criteria API


For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.

Course Details

Getting Started with Hibernate
Object-relational mapping (ORM) concepts and issues
Overview of mapping
Introduction to HQL and JPA
Query Techniques
Finding objects by primary key
Querying for entities
Using functions
Ordering, paging, and filtering
Handling simple associations
Named queries
Mapping Classes by using Annotations
Getting ready for annotations
Using annotations
Strategies for generating IDs
Embedded objects
Managing Entities
Entity states
Managing attached entities
Managing detached entities
Additional Query Techniques
Reporting queries
Native queries
Query hints
Model metadata
Mapping Associations
Relationships and associations
Defining 1-1 associations
Defining 1-many associations
Defining many-many associations
Defining join classes
JPA and Java Enterprise Edition
Java EE essentials
Using entities in Java EE
Transaction management in Java EE
Mapping Collections
Collections vs. associations
Using sets for uniqueness
Using lists for ordering
Collections of components
Mapping Inheritance Hierarchies
The role of inheritance in Hibernate
Defining a single table per hierarchy
Defining a table per concrete class
Defining a table per subclass
Mixing inheritance strategies
Using the Criteria API
Getting started with the Criteria API
Selection techniques
Using predicates
Additional techniques