Hibernate Development

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.


3 days



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

What you'll 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

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
  • Projections
  • 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
  • Sub-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
  • Cascading

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