HIBERNATE TRAINING IN JAIPUR

Introduction to Hibernate

  • Issues with Persistence layers and Object-Relational Mapping (ORM)
  • Hibernate Overview and Benefits
  • Hibernate architecture overview
  • POJO (Plain Old Java Object) Based Mapping

Getting started with Hibernate quickly

  • Overview of the Hibernate distribution
  • Configuring Hibernate
  • hibernate.cfg.xml file
  • SessionFactory configuration
  • Connection properties, Database dialect
  • Configuration class, Session Interface
  • “Hello World” Program for Hibernate
  • Mapping a Class
  • Persistent Entity Class, Hibernate Mapping
  • File, Mapping the Entity Class
  • Primary keys: Id property, Generated Id
  • Hibernate Type System
  • Working with sessions and Persistent Objects
  • Logging – log4j Overview and configuration for Hibernate

Optimistic Locking / Versioning

  • Detached Objects and Optimistic Locking
  • Versioning overview and Using Versioning
  • Locking Objects

Relationships

  • Object Relationship Overview
  • Mapping Collections of Value Objects
  • Entity Relationships: 1-N, N-1, N-N, 1-1
  • Mapping Entity Relationships
  • Uni and Bi-directional Relationships
  • The Relationship “inverse”
  • Cascading Over Relationships
  • Queries Across Relationships (Lazy and Eager)

Inheritance Mapping

  • Entity Inheritance with Hibernate
  • Table-per-class mapping
  • Table per Subclass mapping
  • Table per Concrete Class mapping

Additional Querying Capabilities

  • Projection Queries, Aggregate queries
  • Bulk updates and deletes
  • Native SQL Queries
  • Query Filters

The Criteria API

  • Overview of the Criteria API
  • Working Querying with the Criteria API
  • Query by Example

Hibernate and Java Persistence / EJB 3

  • Overview of Java Persistence / EJB 3
  • Relationship between Java Persistence and Hibernate
  • Overview of Annotations
  • Mapping Entities with Hibernate Annotations
  • The EntityManager, Persistence Context and Persistence Unit
  • Working with Transactions – EntityTransaction, Managed, and Unmanaged Environments
  • Inserts and Updates
  • JPQL – Java Persistence Query Language
  • Versioning
  • Relationships

Advanced Topics

  • Components and Multi-Table Mapping
  • equals() and hashCode()
  • Caching and Efficiency
  • Design Considerations