About Hibernate Training
Hibernate is the most popular object-relational mapping framework for Java environments. Object relational mapping in large enterprise applications is difficult. 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.
This course is loaded with lots of hands on examples 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 with the Hibernate framework.
Hibernate Course Prerequisite
- Students should have a good understanding of the Java Programming language.
- A basic understanding of relational databases and SQL is very helpful.
Hibernate Training Course Content Objective
- 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
Hibernate Training Course Duration
- Normal Track 45 Working days, daily one and half hour
- Fast Track 30 Working days, daily two hours
Hibernate Training Course Overview
Advantages of Hibernate compared to JDBC
Introduction
ORM (Object Relational Mapping)
Hibernate Resources
- Configuration file
- Mapping file
- Persistent class or POJO
- Client application.
Hibernate Architecture
Installation and Directory Structure
Hibernate Data Types
First Application using Hibernate
Hibernate API
- Configuration
- SessionFactory
- Session
- Transaction
Object Life cycle in Hibernate
- Transient object
- Persistent object
- Detached object
CRUD operations using Session methods.
- save, persist, SaveOrUpdate
- update, merge, delete
- load, get
- flush, evict, clear etc
Versioning
Primary key Generators
- Assigned
- Increment
- Sequence
- Hilo
- Seqhilo
- Identity
- Foreign
- Native
- UUID
- Custom generator
Hibernate Query Language (HQL)
Joins in Hibernate
Batch processing and Native SQL
Criteria API
Criteria with projections
Inheritance Mapping
- Table per class
- Table per sub class
- Table per concrete class
Component Mapping
Custom Mapping
Collection Mapping
- <list>
- <set>
- <map>
- <bag>
- Mapping array
- Sorting collections
Association Mapping
- one to one
- one to many
- many to one
- many to many
- Uni directional
- Bi directional
- Explanation on inverse and cascade attributes
Caching
- First level Cache(Session cache)
- Second level Cache(SessionFactory cache)
- Query level cache
Connection Pool
- Default connection pool
- Server supplied pool
- Third party vendor connection pool
Transactions and Concurrency
- Programmatic transactions with JTA
- Optimistic Concurrency control
- Pessimistic Concurrency control