Home  Search

Java Frameworks - Hibernate, JPA and Spring

Hibernate Training

Object Persistence - Object/Relational Paradigms, O/R Mismatch, Object Relational Mapping (ORM), Java ORM/Persistent Frameworks, What is Hibernate & Hibernate and JPA

Hibernate Configuration - Hibernate Architecture and API, Hibernate Installation/Setup, Configuration, Configuration Properties, Mapping Files, Installing Hibernate Tools, Creating The Project, Using The Libraries, Creating The Configuration, Creating The Session Factory, Testing Out The Configuration

Persistent Classes - POJOs, JavaBeans, Basic Mapping, Class to Table Mappings, Property Mapping, Identifiers, Generators, Natural Keys, Identifier Exposure & Quoting SQL Tables and Columns

Annotations- Metadata, Annotations Pros/Cons, Configuring Hibernate Annotations, EJB3/JPA Annotations & Hibernate Annotations

Persistence Life Cycle - Transaction Overview and Transactions in Hibernate, Hibernate Transaction API (in Managed and Non-managed Environments), The lifecycle of managed objects, Persistent, transient, and detached objects, The Persistence (Session) Context (Lifespan, Relation to Managed Objects, Propagation), Contextual Sessions, Synchronization to the Database,The Session as cache, Optimistic Locking / Versioning, Detached Objects and Optimistic Locking, Versioning overview and Using Versioning & Locking Objects

Components and Model - Element Types, Mapping Compositions, Value-Type Collections and Components, Mapping Java Collections, Bags and Dynamic Components, Domain Model & Entities and Values

Mapping and Association - Object Relationships overview, Mapping Collection of Value Objects, Entity Relationship - One to one, Entity Relationship - One to many, Entity Relationship –Unidirectional and Bidirectional, Entity Relationship - Many to Many, Map, List, Set and Bag, Relationship- Inverse, Cascading Over Relationships, Query Across Relationships(Lazy and Eager), equals() and hashCode()

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

Intermediate Concepts - Composite Key Mapping, Using Hibernate Mapping File, Using Component Mapping, Mapping Collection of Value Types, Mapping Enumeration, Mapping Secondary Table

Hibernate Query and Criteria - HQL, Hibernate Object Fetching Options, Hibernate Query, HQL Parameters, Named Queries, Native SQL

Criteria - Restrictions, Query By Example, Query Hints, Query Option Pros/Cons

Fetching Strategies - N+1 Selects, Join Fetching, Sub Select Fetching, Batch Fetching, Queries and Fetching Strategies, Cartesian product Problem, Manual Batching, Native SQL & Using Native SQL

Working with Hibernate objects -The Java Transaction, Hibernate Transaction, Configuration, Hibernate Transaction API, Lazy loading and detached objects, Optimistic and pessimistic locking, Transaction Control and Isolation Levels, Schema generation, Mixing Hibernate and JDBC, Performance tuning, Attach and detached objects, Cascading and Embedding Object, Mixing Hibernate and JDBC

Listeners - Implementing Listeners, Data Filters, Using Filters, Integration Concepts, JPA, Spring


JPA Stands for Java Persistence API

p>Object Relational Mapping Overview - Object Identity, Object References, Collections, Inheritance, Semantics Missing From Java, Query Languages, O/R Patterns, Logical Mismatch & Transparent Persistence.

JPA Basics - Elements of JPA, Basic Steps & O/R Success Factors.

JPA API Overview - Persistence, EntityManagerFactory, EntityManager & Query

Setting up the Environment - Libraries, Data Source, JUnit, Ant, IDE's.

Configuration - Using XML & Java.

Create the Entity Classes - Rule for Persistent Entities, Recommendations for Persistent Entities, @Entity Annotation & @Id Annotation.

Relationships, Joins and Collections - Simple Composition and Associations, Entities versus Embedded Objects, @ManyToOne, @OneToOne, @ManyToMany, Mapping Collections, Collection Types, Simple Value Collections, Entity Collections, Bidirectional Associations, Cascading Operations, Sorting Collections, Externalize & Interface and Object Fields.

Identity - Database Versus Java Identity, Identity Scope, Identity Generation, Compound Keys, Synthetic Versus Natural Keys, Nullable ID, User Assigned & Generated.

Using Persistent Objects - Inserting, updating and deleting data, EntityManager Lifecycle, Exception Handling & Traversing Relationships.

Object States - Transient, Persistent & Detached.

EJB Query Language - Logging SQL, From Clause, ORDER BY Aliases, WHERE Clause, Associations in WHERE Clause, Select Clause, Aggregates, GROUP BY/HAVING Joins, Use Fetch to Reduce Database Access, Query Interface, Parameter Queries, Functions, Subqueries, All/Any, IN & Bulk Operations.

Patterns and Best Practices - Scoping JPA Objects, Entity Contexts, ThreadLocal Pattern, Composable Transactions & EntityManager Decorator.

Code Generation - Forward Engineering: Schema Generation, Reverse Engineering: Class Generation & Meet in the middle.

JPA in Web Applications -Open EM in View Pattern, Servlet Filters, Proper Scoping JPA Objects, Lifecycle management of JPA Objects & An Add/Edit JSP Page.

Maintaining Consistent State - Transactions, JTA, Container Managed Transaction, Using Lifecycle Events, Validation, Optimistic Locking, Versioning Objects, Datastore versus JPA Transactions & Declarative Transactions.

Mapping - @Table, @Column, @JoinColumn & @JoinTable.

Inheritance - Single Table, Joined, Table Per Class, Mapped Superclass & Discriminator.

Caching - EM Cache, Secondary (L2) Cache, Distributed Cache & Transactional Cache.

Class Enhancement - Runtime Enhancement, Classloader Enhancement & Build Time Enhancement.

Using Detached Objects - When to use detached objects, Pitfalls, Detach Triggers

Architecture Issues - JPA in a 2 Tier Environment, JPA in layered architectures & JPA in web services

Performance Issues - Lazy Loading versus Eager Loading, Fetch Groups, Caching & Other tips

Misc Issues - Logging & Debugging Tips

Using JPA with Spring - JPA Objects in ApplicationObjects, Managing lifecycle of JPA objects & Transactions


Java Spring Training - Spring framework for Java platform provides comprehensive support for developing robust applications rapidly.

Topics Covered


MVC Architecture,

Spring Introduction,

Spring Configuration,

Get Started,

Dependency Injection,

The Spring Container and API,

Spring and Persistence,

Spring AOP,

Transaction Management,

Spring MVC,

Spring Data Validation,

Advanced techniques,

Spring Controllers and Ajax,

Restful Web Services,

Remoting and clustering,

Spring Security,

Hibernate Integration,



Test-driven Development,

Future Exploration,

Spring Best Practices,