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.

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


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

Course outline:

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

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

10. October
2 days
14. October
5 days
Classroom Virtual
9. October
3 days
30. September
5 days
Classroom Virtual