Hibernate - JAV850

This 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. 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.
Course ID: JAV850

Duration: 4 days

Audience: Java programmers with a need to understand the Hibernate framework and API.

Prerequisites: A good understanding of the Java programming language is required. A basic understanding of relational databases and SQL is very helpful.
Topics:

Object Persistence

  • Persistence
  • Object Persistence
  • Object/Relational Paradigms
  • Impedance Mismatch
  • Object Relational Mapping ()ORM)
  • Persistent Framework
  • Hibernate
  • Java ORM/Persistent Frameworks

Hibernate Architecture

  • Hibernate Architecture and PI
  • Hibernate Installation/Setup
  • Configuration
  • Configuration Properties
  • Mapping Files
  • Persistent Classes
  • 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 Stat
  • Persistent State
  • Persistent Object Updates and Automatic Dirty Checking
  • Detached 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

More 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

  • 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
  • HQL Parameters
  • Named Queries
  • Native SQL

Criteria

  • Hibernate 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
  • Fetching Strategies
  • 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) Annotations
  • Inheritance Annotatio
 

Call Toll-free 877-245-6815 or 303-416-3056 to set up your IT Training today.