Hibernate is an open source persistent framework. It is a powerful, high performance Object-Relational Persistence and Query service for any Java Application. Hibernate maps Java classes to database tables and from Java data types to SQL data types and saves the developer from the common data persistence related programming tasks.
Course Content
- Java Persistence:-Overview of Object-Relational Mapping (ORM), Overview of Hibernate architecture, Installation and configuration of Hibernate application.
- Configuring Hibernate:-Hibernate configuration property file, Hibernate configuration XML file, Java annotations for Hibernate configuration, Hibernate mapping files, Database dialects, obtaining a SessionFactory, Hibernate code generation tools.
- O/R Mapping:-Mapping strategies, Hibernate mapping files, Class to Table mapping, Mapping properties to columns, The id element and primary key, primary key generation methods, Composite primary keys, Hibernate data types, Custom value types, Mapping for collections and associations, Component mapping, Inheritance mapping.
- Manipulating and Querying Persistent Objects:-Persistent classes (Entities), Entity Life cycle, Transient and Persistent states, Object Loading, checking for dirty Object, Detached objects, Merging objects, Find methods, The Query interface, CRUD operations, Criteria Queries, native SQL query, lifecycle and interceptor callbacks, Transactions and concurrency, Hibernate Query Language (HQL).
- Transactions in Hibernate:-Java Transaction API (JTA), Hibernate transactions, Concurrency, Transaction isolation levels, Optimistic and pessimistic locking.
- Performance Tuning:- Collections and performance, Cache, Hibernate Cache Architecture, Cache concurrency, Caching levels and regions, Eviction, Batch fetching, Sub-select fetching, Lazy loading for performance, Cascaded operations, Proxy objects.