.NET Persistence with Hibernate

Contact Us for Dates
2 days practical workshop for up to 12 people.
Only £790
This course develops skills in using the Object/Relational Mapping tool Hibernate. The course uses the current version of nHibernate. By the end of the course, students will be prepared to set-up and use Hibernate as the persistence mechanism in .NET applications. The course uses C# as the programming language.


The training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice.  The exercises specifically build on what has been recently taught and are built up as the training course progresses.

Training Course Objectives

  • Introduction to Hibernate
  • Configuring Hibernate
  • Hibernate Persistence
  • Object/Relational Mapping
  • The Criteria Query API
  • The Hibernate Query Language

Who it is for

C# Programmers

Training Course Prerequisites

  • Basic knowledge of .NET programming and ADO.NET
  • Basic experience with SQL and relational databases


Chapter 1 Introduction to Hibernate

  • Introducing Hibernate
  • The Object/Relational Mapping Problem
  • The Impedance Mismatch
  • Tools and Environment Setup

Chapter 2 Configuring Hibernate

  • The Hibernate Distribution
  • Required Libraries
  • Configuration Files
  • XML Configuration Model
  • Programmatic Configuration

Chapter 3 Hibernate Persistence

  • The Hibernate Architecture
  • Interface Model
  • SessionFactory Methods
  • Hibernate Sessions
  • Object States
  • State Transitions
  • Session Methods
  • Transactions
  • Session-Per-Operation
  • Session-Per-Request
  • The Data Access Object Pattern

Chapter 4 Object/Relational Mapping

  • Object-Oriented Design
  • Relational Mapping
  • Bidirectional Association
  • O/R Mapping Techniques
  • The Mapping Document
  • The Mapping XML Model
  • Primary Keys and Identity
  • Mapping Associations
  • The Mapping XML Model for Associations
  • Unidirectional Many-to-One
  • Eager Fetching
  • Bidirectional One-To-Many
  • Bidirectional One-To-One
  • Mapping Inheritance
  • Inheritance and Databases
  • Single-Table Inheritance
  • Mapping Single-Table Inheritance
  • Table-Per-Subclass
  • Table-Per-Subclass Mapping
  • Table-Per-Concrete-Class

Chapter 5 The Criteria Query API

  • Criteria Queries
  • The Criteria Interface
  • The Criteria API
  • The Restriction Class Utility
  • Other Restrictions
  • Windowing Results
  • Sorting Query Results
  • Projections and Aggregates
  • The Projections Class Utility
  • The ProjectionList Class
  • Query By Example

Chapter 6 The Hibernate Query Language

  • The Hibernate Query Language
  • Fundamentals
  • HQL Queries
  • Polymorphism
  • Named Parameters
  • Entity Parameters
  • Joining on Associations
  • Aggregate Methods
  • Updates and Deletes
  • Named Queries
  • Using Native SQL