Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley

locations map


550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2


821A Bloor Street West
Toronto, ON
M6G 1M1


409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA

Other Locations

Dallas, TX
Miami, FL

Home > Training > Hibernate > Developing J2EE Applications Using Hibernate Training

Developing J2EE Applications Using Hibernate Training

Course#: WA1442

This training course provides students with the knowledge needed to use the Hibernate Object/Relational Mapping (ORM) framework to implement the persistence layer of J2EE applications

  Upon completion of this course, you should be able to:
  • Understand the concepts of object/relational mappings
  • Understand the architecture of Hibernate
  • Integrate and configure Hibernate in J2EE applications
  • Create Hibernate mappings
  • Retrieve and update persistent objects using Hibernate
  • Use HQL (Hibernate Query Language) and criteria queries
  • Know when to use database and application transactions
  • Understand the Hibernate caching architecture
  • Tune performance of Hibernate operations
  • Use various Hibernate tools
  • Object/Relational Mapping Concepts
  • Hibernate Architecture and Configuration
  • Basic Hibernate Mappings
  • Manipulating Persistent Objects
  • Advanced Hibernate Mappings
  • Transactions and Concurrency
  • Performance
  • Hibernate Tools
  • Design Techniques
  Software designers, developers and programmers
  To succeed fully in this course, students should be able to:
  • Understand how to program in Java – Course WA1253 addresses the Java programming language
  Three days.

Outline of WA1442 Developing J2EE Applications Using Hibernate Training

1. Introduction to Hibernate

  • Topics
  • What is Hibernate?
  • Relational Database Technology
  • Accessing Relational Databases from Java
  • Domain Models
  • Comparing Object and Relational Models
  • Identity Modeling
  • Granularity of Objects and Tables
  • Association Modeling
  • Navigation
  • Inheritance
  • What is Object/Relational Mapping?
  • Advantages of using an ORM Tool
  • Architecture of Hibernate
  • Hibernate API
  • Extension Interfaces
  • Hibernate Configuration
  • Hibernate Mappings
  • Hibernate Properties
  • Hibernate XML Configuration Files
  • Non-Managed and Managed Environments
  • Configuration in a Non-Managed Environment
  • Configuration in a Managed Environment
  • Binding SessionFactory to JNDI
  • A Simple Example
  • Alternatives to Hibernate
  • EJB Entity Beans
  • Java Persistence API
  • Hand-Coded Persistence Using JDBC
  • Object-Oriented Databases
  • Other ORM Tools

2. Basic Mappings

  • Topics
  • Creating the Domain Model
  • Domain Model
  • Domain Objects
  • Hibernate Requirements
  • Object Identity
  • Primary Keys
  • Natural Keys vs. Surrogate Keys
  • Identifier Property
  • Identifier Generators
  • Hibernate Managed Identifiers
  • Mapping Metadata
  • Mapping Properties
  • Property Access Strategies
  • Derived Properties
  • Preventing Insert/Update
  • Using Database Schemas
  • Quoted SQL Identifiers
  • Specifying Java Packages
  • Entity and Value Types
  • Components
  • Bi-Directional Components
  • Other Component Details
  • Association Mappings
  • Many-to-One Association
  • One-to-Many Association
  • Inheritance Mapping Strategies
  • Table per Concrete Class
  • Table per Subclass
  • Table per Class Hierarchy

3. Manipulating Persistent Objects

  • Topics
  • Object States
  • Transient Objects
  • Persistent Objects
  • Detached Objects
  • Object Identity
  • Persisting a Transient Object
  • Retrieving and Updating a Persistent Object
  • Deleting a Persistent Object
  • Updating a Detached Object
  • Transitive Persistence
  • Using save-update
  • Differentiating Between Transient and Detached Objects
  • HQL Queries
  • Parameter Binding
  • Pagination
  • Named Queries
  • Polymorphic Queries
  • Restriction
  • String Comparison
  • Logical Operators
  • Ordering the Results
  • Join Queries
  • Implicit Joins
  • Where Clause Joins
  • Criteria Queries
  • Polymorphic Criteria Queries
  • Restricting Criteria Queries
  • Comparing Strings in Criteria Queries
  • Using Logical Operators in Criteria Queries
  • Ordering Results in Criteria Queries
  • Using Joins in Criteria Queries
  • Using Dot Notation to Get Component Properties

4. Advanced Mappings

  • Topics
  • One-to-One Associations
  • Many-to-Many Associations
  • Polymorphic Associations
  • Entity vs. Value Types
  • Built-in Mapping Types
  • Using Mapping Types
  • Custom Mapping Types
  • Collections of Value Types
  • Set of Value Types
  • Bag of Value Types
  • List of Value Types
  • Map of Value Types
  • Collections of Components
  • Sorting Collections

5. Transactions, Concurrency and Performance

  • Topics
  • Database Transactions
  • JDBC and JTA Transactions
  • Hibernate Transactions
  • Hibernate Transactions
  • Hibernate Transactions
  • Flushing the Hibernate Session
  • Isolation Issues
  • Isolation Levels
  • Configuring the Isolation Level
  • Pessimistic Locking
  • Application Transactions
  • Application Transaction Isolation
  • Managed Versioning
  • Using Existing Properties to Implement Optimistic Locking
  • Caching
  • Hibernate Cache Architecture
  • The First-Level Cache
  • The Second-Level Cache
  • Cache Concurrency Strategies
  • Enabling the Second-Level Cache
  • Cache Regions
  • Specifying a Cache Provider
  • Support for Cache Providers
  • Explicitly Evicting Objects From the Second-Level Cache
  • Fetching Strategies
  • Fetching Strategies in Mappings Single Point Associations
  • Fetching Strategies in Mappings Single Point Associations
  • Fetching Strategies in Mappings Single Point Associations
  • Fetching Strategies in Mappings Collections
  • Fetching Strategies in Mappings Batches
  • Explicit Initialization of Lazily Loaded Objects
  • Fetching Strategies in HQL Queries
  • Fetching Strategies in Criteria Queries
  • The N+1 Selects Issue
  • Report Queries - Projections
  • Report Queries Projections
  • Report Queries Projections
  • Report Queries Aggregation
  • Report Queries Grouping

6. Tools and Design Techniques

  • Topics
  • Generating the Database Schema
  • Generating the Domain Model
  • Generating the Database Schema
  • Using Middlegen
  • Using XDoclet
  • The Open Session in View Pattern
  • Using a Natural Key
  • Using a Composite Key
  • Dealing with Database Triggers
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:


*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course
Other Details

Register for a courseware sample

It's simple, and free.


Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.