Hibernate 4.0

Course Code:

Duration: 4 Days

Overview:

Hibernate a high-performance object/relational persistence and query service. In this class, experienced Java developers learn how to put the Hibernate engine to work within their applications.

Prerequisites:

  • Core Java, JDBC, XML, Annotations & Java/J2EE development is a plus.

Course Details

Course Outline

  • Introduction to Hibernate
  • Issues with Persistence layers
  • Object-Relational Mapping (ORM)
  • Hibernate Overview and Benefits
  • Hibernate architecture overview
  • POJO (Plain Old Java Object) Based Mapping
  • Getting started with Hibernate quickly
    • Overview of the Hibernate distribution
    • Configuring Hibernate
      • hibernate.cfg.xml file
      • SessionFactory configuration
      • Connection properties, Database dialect
      • Configuration class, Session Interface
    • "Hello World" Program for Hibernate
    • Mapping a Class
      • Persistent Entity Class, Hibernate Mapping
      • File, Mapping the Entity Class
      • Primary keys: Id property, Generated Id
    • Hibernate Type System
    • Working with sessions and Persistent Objects
  • Querying
    • Inserting and Updating Entities
    • HQL - Hibernate Query Language Overview
    • The Query Interface
    • Creating and working with queries
    • Named Queries, Projection Queries, Aggregate Queries
  • The Persistence Lifecycle
    • Transaction Overview and Transactions in Hibernate
    • The lifecycle of managed objects
    • Persistent, transient, and detached objects
    • The Persistence (Session) Context (Lifespan, Relation to Managed Objects, Propagation)
  • Relationships
    • Object Relationship Overview
    • Mapping Collections of Value Objects
    • Entity Relationships: 1-N, N-1, N-N, 1-1
    • Mapping Entity Relationships
    • Uni and Bi-directional Relationships
    • The Relationship "inverse"
    • Cascading Over Relationships
    • Queries Across Relationships (Lazy and Eager)
  • Inheritance Mapping
    • Entity Inheritance with Hibernate
    • Table-per-class mapping
    • Table per Subclass mapping
    • Table per Concrete Class mapping
  • Additional Querying Capabilities
    • Projection Queries, Aggregate queries
    • Bulk updates and deletes
    • Native SQL Queries
    • Query Filters
  • The Criteria API
    • Overview of the Criteria API
    • Working Querying with the Criteria API
    • Query by Example
  • Advanced Topics
    • Components and Multi-Table Mapping
    • Design Consideration