Complete Hibernet Training

Live Skype Training (18 hours) INR 12,000.00/$210.00 register
Customized Corporate Training (18 hours) INR 90,000.00/$276.00(10-15 trainees) register
Complete hibernet training

OyeTrade 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.

Once you complete this training course, you will have acquired enough knowledge and experience which is required to develop a successful web project.

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

Experience in the following areas is required:

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 Life cycle
  • Transient State
  • 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

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

About the trainer

Shrini is certified Java developer having 10 years of working experience with big brands