-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
The course Java Data Access with Hibernate addresses Object Relational Mapping with Hibernate.
After an overview of the data access capabilities in Java, including JDBC, and the challenge they face, the basic concepts and architecture of the Hibernate Framework is discussed.
The role of the Hibernate configuration file is examined and the mapping of Java classes to database tables is discussed. Next attention is paid to the role and structure of the mapping files and annotations and the role of the various properties and attributes.
The central position of the Hibernate Session created through the SessionFactory is discussed and attention is paid to the various states that Java objects can have in relation to the database like persistent, transient and detached.
The various key generation strategies are discussed and also the mapping of association and inheritance relationships to the database are part of the subject matter.
Next attention is paid to the capabilities of Hibernate Query language, HQL, to Hibernate criteria and the use of native SQL queries.
Finally also Hibernate transactions are discussed, the use of annotations as an alternative to XML mapping files is addressed and the different varieties of Hibernate caching are explained.
Â
Experienced Java developers who want to use Hibernate for accessing data in databases.
Experience with Java programming and object orientation is required. Knowledge of database structures and SQL is beneficial for a proper understanding.
The concepts are treated by means of presentation slides and demos. The theory is interspersed with exercises. The course material is in English. The course times are from 9.30 up and to 16.30.
Participants receive an official certificate Java Data Access with Hibernate after successful completion of the course.
Module 1 : Java Persistence |
Module 2 : Hibernate Basics |
Module 3 : Mapping Persistent Objects |
Java Persistence Traditional Persistence Transparent Persistence Persistence Technologies Direct File I/O Serialization Java Database Connectivity JDBC Architecture Executing Statements Retrieving Results JDBC Drivers JDBC URL's Problems with JDBC |
What is Hibernate? Hibernate Characteristics Hibernate Configuration Hibernate Configuration File Persistent classes Mapping Files Hibernate Architecture Hibernate Core Concepts Storing Objects Generated Table and SQL Primary Key Column Lifecycle States Persistence Lifecycle |
Class to Table Mappings Property Mapping Identifiers and Generators Hibernate Session Entities and Values Entity Lifecycle Persistent State Transient State Persistent Object Updates Automatic Dirty Checking Detached State Deleting Objects Merging |
Module 4 : Mapping Relationships |
Module 5 : Mapping Inheritance |
Module 6 : Queries and Criteria |
Many-to-one Associations Mapping to List, Map Mapping to Bag and Array Using Comparator One-to-one Associations Many-to-many Associations Value Type Collections Collections of Components Sorting Collections Cascading over associations Lazy versus Eager Loading Detached Objects and Proxies Polymorphic Associations |
Inheritance Mapping Strategies Single Table per Class Hierarchy Single Table Data Model Discriminator Columns Advantages and Disadvantages Table per Concrete Class Strategy Table per Concrete Class with unions Table per Class Data Model Advantages and Disadvantages Joined Subclass Strategy Joined Data Model Polymorphism Choosing an Inheritance Strategy |
Hibernate Query Language HQL Parameters Named Queries Native SQL Criteria Restrictions Scrolling and Pagination Query Hints Join Fetching Subselect Fetching Batch Fetching Queries and Fetching Strategies Cartesian Product Problem |
Module 7 : Transactions |
Module 8 : Hibernate Annotations |
Module 9 : Hibernate Configuration |
Java Transaction API JTA versus JDBC Transactions Transaction Configuration Hibernate Transaction API Isolation Levels Optimistic Locking Versioning Pessimistic Locking ThreadLocal Transactions Conversations Session Lifetime Concurrent Access |
Metadata Annotations Pros/Cons Configuring Hibernate Annotations Entity and table annotation Primary key annotations Column annotations Special Relation annotations Join column annotations Components Inheritance EJB3/JPA Annotations |
Configuration File HibernateUtils XML versus Annotations Connection Pools The promise of Cache Hibernate Caching Architecture First Level Cache Second Level Cache Cache Concurrency Configuring Second Level Cache Cache Regions Eviction |