Complete Hibernate Training

Course ID: INT2431
Elite Credits: 26
Duration: 4 Days

Upcoming Classes

Sorry, nothing scheduled right now. But, click Request a Date below to get something on the calendar soon.

Price: $2,595.00

Request A Date

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us

Description

Intertech’s Complete Hibernate course teaches students the most popular object-relational mapping framework for Java environments. Object relational mapping in large enterprise applications is difficult. The task is so difficult that the problem of storing and retrieving objects to a relational database has its own name – impedance mismatch.

In this class, students learn object-relational mapping concepts and the various issues and options available in Java to address object persistence. With these fundamentals, the course then explores the basics of Hibernate object persistence and configuration. It also digs into the details of Hibernate mapping, queries, transactions, and concurrency.

Not just a class that focuses on theory, this course is loaded with practical labs and deals with maintenance and performance issues. After taking this class, developers will be able to build faster, more flexible and easier to maintain application persistence layers and overcome impedance mismatch with the Hibernate framework. 

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Understand the challenges of mapping objects to relational databases
  • Learn the architecture of Hibernate
  • Know how to setup and configure Hibernate for a Java project
  • Learn to map Java classes and object associations to relational database tables with Hibernate mapping files
  • Study Hibernate’s strategies for mapping Java inheritance trees to relational database tables
  • Learn the Hibernate Query Language and Criteria for retrieving Java objects
  • Explore Hibernate’s Caching Architecture

Audience

This class is designed for Java programmers with a need to understand the Hibernate framework and API.

Prerequisites

Students should have a good understanding of the Java programming language. A basic understanding of relational databases and SQL is very helpful.

Course Outline

Object Persistence

  • Object/Relational Paradigms
  • O/R Mismatch
  • Object Relational Mapping (ORM)
  • Java ORM/Persistent Frameworks

Hibernate Architecture

  • Hibernate Architecture and API
  • Hibernate Installation/Setup
  • Configuration
  • Configuration Properties
  • Mapping Files

Persistent Classes

  • POJOs
  • JavaBeans
  • Basic Mapping
  • Class to Table Mappings
  • Property Mapping
  • Identifiers
  • Generators
  • Natural Keys
  • Identifier Exposure
  • Quoting SQL Tables and Columns

Working with Persistent Objects

  • Entity Lifecycle
  • Transient State
  • Persistent State
  • Persistent Object Updates and Automatic Dirty Checking
  • Detatched State
  • Deleted
  • Object Identifiers Revisited
  • Merge

Components

  • Domain Model
  • Entities and Values
  • Components

Associations

  • Many-to-one
  • Bidirectional Many-to-one
  • Other Collections
  • Many-to-one List
  • Many-to-one Map
  • Many-to-one Bag
  • Many-to-one Array

Other Associations

  • One-to-one
  • Bidirectional One-to-one
  • Many-to-many
  • Bidirectional Many-to-many
  • Many-to-many Identifier Bag

Value Type Collections

  • Collections of Value Types
  • Collections of Components
  • Sorting Collections

Inheritance

  • Inheritance Mapping Strategies
  • Table per concrete class
  • Table per subclass
  • Table per hierarchy
  • Inheritance Mapping Pros/Cons
  • Polymorphism
  • Table per concrete class with unions
  • Choosing an Inheritance Strategy

Transitive Persistence

  • Lazy Loading
  • Proxies
  • Eager Loading
  • What’s a Proxy?
  • Detached Objects and Proxies
  • Polymorphic Associations Revisited

Custom Mapping

  • Custom Mapping Types
  • UserType
  • Enumerations

HQL

  • Hibernate Object Fetching Options
  • Hibernate Query
  • HQL Parameters
  • Named Queries
  • Native SQL

Criteria

  • Restrictions
  • Query By Example
  • Scrolling
  • Pagination
  • Query Hints
  • Query Option Pros/Cons

Transactions and Concurrency

  • The Java Transaction
  • Hibernate Transaction Configuration
  • Hibernate Transaction API
  • Concurrency
  • Isolation Levels
  • Optimistic Locking
  • Versioning
  • Optimistic Locking without Versioning
  • Pessimistic Locking

Appendix A - Fetching Strategies

  • N+1 Selects
  • Join Fetching
  • Subselect Fetching
  • Batch Fetching
  • Queries and Fetching Strategies
  • Cartesian Product Problem

Appendix B - Cache

  • The promise of Cache
  • Hibernate Caching Architecture
  • First Level Cache
  • Second Level Cache
  • Cache Concurrency
  • Configuring Second Level Cache
  • Cache Regions
  • Eviction

Appendix C - Annotations

  • Metadata
  • Annotations Pros/Cons
  • Configuring Hibernate Annotations
  • EJB3/JPA Annotations
  • Entity Annotations
  • Embedded Object (Component) Annotation
  • Inheritance Annotations
  • One-to-one Association Annotations
  • Many-to-one Association Annotation
  • Many-to-many Association Annotation
  • Query Annotations
  • Hibernate Annotations

Free Resources from Intertech

Free WhitePaper: Complete Guide to a Developer Job Search

Free Whitepaper: Design and Code Review Checklist

Free Whitepaper: 20 Tips for Selecting a Consulting Firm

X