Java Hibernate Programming Course

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.

Duration : 30 Hrs | 15 Days | 2 - 3 Weeks

Program Contents

  • 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
  • Domain Model
  • Entities and Values
  • Components
  • 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 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
  • Hibernate Object Fetching Options
  • Hibernate Query
  • HQL
  • HQL Parameters
  • Named Queries
  • Native SQL
  • 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
Fetching Strategies
  • N + 1 Selects
  • Fetching Strategies
  • Join Fetching
  • Subselect Fetching
  • Batch Fetching
  • Queries and Fetching Strategies
  • Cartesian Product Problem
  • The Promise of Cache
  • Hibernate Caching Architecture
  • First Level Cache
  • Second Level Cache
  • Cache Concurrency
  • Configuring Second Level Cache
  • Cache Regions
  • Eviction
  • Metadata
  • Annotations Pros/Cons
  • Configuring Hibernate Annotations
  • EJB3/JPA Annotations
  • Entity Annotations
  • Embedded Object (Component) Annotations
  • Inheritance Annotation
Audience :
  • Java Servlet and JSP developers who need to use Struts as a framework for MVC Web Application Development
  • Java programmers with a need to understand the Hibernate framework and API
  • Developers who want to learn Spring Framework
Pre-requisites :
  • A solid understanding of Java is required
  • Java Servlet and JSP programming
  • Basic understanding of HTML and XML
  • Basic understanding of relational databases and SQL

Apply now at

Next Steps

Find Talent Gaps

Find Talent Gaps Understand your
Java Talent
Risks within
60 minutes.
Contact us today
for a free
Talent Gap Assessment.

Certify Your Skills

Find Talent Gaps Providence's Certification
Program helps
you develop,
practice and test the
technology skills required
to dazzle in the IT arena.

Already Providence Trained ?

You can always take the
fast track to certification.

Stay in Touch

we are Social geeks