Back to Course List Page

Course: Persistence with Hibernate


Register

This course develops skills in using the Object/Relational Mapping tool Hibernate®. The course uses the latest release version of Hibernate, 3.2, which is directly related to the new EJB 3.0 version defined in Java EE 5.0. By the end of the course, students will be prepared to set-up and use Hibernate as the persistence mechanism in Java applications.

Duration: 24 hours (12 Sessions)

Price: 11400 Baht (VAT included)

Class Schedule: Monday 20.00-22.00, Wednesday 20.00-22.00, and Saturday 20.00-22.00

Course Goals

  • Configure Hibernate using both properties files and XML documents.
  • Create mapping documents for Java classes.
  • Define object relationships and build mapping documents to model them.
  • Use components to model composition relationships in the object model.
  • Work with one-to-one, many-to-one, and many-to-many relationships.
  • Evaluate the different approaches to modeling inheritance and polymorphism in database schema.
  • Build Java applications that use Hibernate to create, retrieve, update, and delete objects.
  • Use Hibernate's Criteria Query API to do searches and Query By Example.
  • Work with Hibernate Query Language (HQL) to generate object-based SQL.
  • Understand Hibernate sessions and transactions and their impact on performance.


Course Prerequisites

Intermediate knowledge of Java programming.
Some familiarity with SQL, relational databases, and the Java Database Connectivity (JDBC) interfaces will be helpful.

Course Outline
  1. Introduction to Hibernate
    1. The Object/Relational Mapping Problem
    2. JDBC
    3. The Hibernate Alternative
    4. Hibernate Architecture and API
  2. Configuring Hibernate
    1. The Hibernate Distribution
    2. Required Libraries
    3. Configuration Files
    4. hibernate.properties
    5. hibernate.cfg.xml
    6. Programmatic Configuration
  3. Hibernate Persistence
    1. The SessionFactory Interface
    2. Object States
    3. The Session Interface
    4. Transactions
    5. Session Duration
    6. The Data Access Object Pattern
  4. Object/Relational Mapping
    1. O/R Mapping Issues
    2. The Mapping Vocabulary
    3. Primary Keys and Identity
    4. ID Generators
    5. Mapping Associations
    6. Unidirectional and Bidirectional Associations
    7. Managing Cardinality
    8. Strategies for Mapping Inheritance
  5. The Criteria Query API
    1. Criteria Queries
    2. The Criteria Interface
    3. Using Restrictions
    4. Windowing Results
    5. Sorting
    6. Traversing Associations
    7. Projections and Aggregates
    8. Grouping
    9. Query By Example (QBE)
  6. Hibernate Query Language
    1. Building HQL Queries
    2. The Select Clause
    3. The Where Clause
    4. Named and Entity Parameters
    5. Associations and Aggregates
    6. Bulk Updates and Deletes
    7. Named Queries
    8. Using Native SQL

Register