Development using Hibernate Course

Course Code: IN 491
Course Abstract:

This course provides participants with in-depth coverage and hands-on practical practice using the latest features of the Hibernate persistence service.   Participants will learn how to map Java objects to relational data (via both XML and Java Annotations) while exploring the transaction and persistence management features built into the Hibernate framework.   Participants will examine the built-in and customizable Hibernate mapping types as well as the Hibernate Query Language (HQL).  Advanced Hibernate storing and fetching techniques are examined.  Integration into a J2EE Enterprise Application Architecture is explored both in lectures and exercises.

Upon completion of this course participants will have explored in-depth the Hibernate APIs, and performed hands-on labs to reinforce the lecture topics.  Emphasis is placed on the complex mapping features, the hibernate persistence lifecycle.

Audience:

This course is designed for developers looking to explore Java's most widely-used and fastest-growing object/relational mapping architecture.

Duration: 3 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:
> Configure the Hibernate persistence service for use within an application
> Incorporate object-relational mappings and Hibernate typing
> Utilize the HQL, externalize queries, understand Hibernate typing
> Explore the Hibernate API including transactions, persistence management, and caching
> Seamlessly integrate Hibernate into a J2EE application including a data access object and business service architecture

Course Topics:

Introducing Hibernate
JPA and Hibernate 3
Choosing a Persistence Strategy
Objects vs. Relations
Lightweight Services vs. Heavyweight Containers
How Hibernate Works
Within an Application Server
Persisting Plain Old Java Objects (POJOs)
Introducing the Hibernate Persistence Service
Getting Started with Hibernate
Setting up the Environment
hibernate.properties
Basic Configuration and Persistence Objects
Hibernate Mappings
Mapping Properties
Configuring the SessionFactory
Maintaining the Session Factory
A First Hibernate Example
Performing a Query
What is a Session?
Returning Multiple Rows
Executing Updates
Insert and Delete Operations with Hibernate
Configuring Log4J within Hibernate
Eclipse and Hibernate Plug-ins

The Hibernate API
Basic Configuration
The SessionFactory
A Hibernate Session
The Session Interface
Hibernate Exceptions
The LifeCycle of a POJO
Transient, Persistent, and Detached Objects
Session State Methods
Session Persistence Methods
First-Level Caching
Saving Duplicate Objects
Merging Detached Objects
Reattaching vs. Merging Detached Objects
Checking the Cache and Evicting
Loading Objects
Get() versus Load()
Mapping Associations
Mapping Metadata
XML vs. Annotations
Java vs. XDoclet Annotations
Java Annotations
Hibernate Annotations Extensions
Cascading Operations
Composite Keys
Exercise  – Using Composite Keys and Associations

HQL, Queries, and Basic Mapping
Using HQL
Basic Syntax
Ordering and Grouping
Named Parameters
Positional Parameters
More on Types
Composite Types
Enumerated Types
Maps, Sets, Lists, and Bags
IdBags
Associations
Directional Navigation
Foreign Key Associations
One-to-One Mappings
One-to-Many Mappings
Many-to-Many Mappings
Page Iterators

Advanced Configuration and Transactions
Advanced SessionFactory Configuration
User-Provided vs. Hibernate-Provided Connections
Connection Pooling Properties
Setting up Logging
Hibernate Transactions
Managing Flushes
Establishing Isolation
Locking Strategies
Optimistic vs. Pessimistic Concurrency Strategies
Managing Cached Data
First Level Caching
Second Level Caching
Managing Concurrency
Versioning
Automatic Versioning
Disconnecting and Reconnecting Sessions

Advanced Session Management and Mapping Techniques
Bidirectional Associations
Lazy Initialization
Joins in Hibernate
Mapping Class Inheritance
Inheritance Strategies
Subqueries
Subclasses and Inheritance
Controlling Outer Join Fetches
Mapping Components (Composition)
Mapping Collections
Session Propagation
Detached Objects in Conversations

Hibernate within a J2EE Business Service Architecture
Hibernate in the Web Application
Developing a J2EE Layered Architecture
Utilizing a Proxy/Business Service
Wrapping Hibernate Services
Implementing a Data Access Object Strategy

Appendix A - Additional Hibernate Utilities
Code generation tools
Mapping to Schema (hbm2ddl)
Schema to Mapping (MiddleGen)
Mapping to Java Objects (hbm2java)

Appendix B – SQL Basics

Prerequisites:

Java programming language and SQL basics experience is required.  This course is recommended for participants who have previously had some experience with Java and J2EE development.

Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning