- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Java Data Access met Hibernate behandelt Object Relational Mapping met Hibernate.
Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de uitdagingen waar deze tegenaan lopen, worden de basis concepten en architectuur van het Hibernate Framework besproken.
De rol van het Hibernate configuratie bestand wordt besproken en de mapping van Java classes op database tabellen komt aan de orde. Vervolgens wordt aandacht besteed aan de rol en de structuur van de mapping files en annotaties en de rol van de verschillende properties en attributes.
De centrale positie van de Hibernate Session die wordt gecreëerd door de SessionFactory wordt besproken en er wordt aandacht besteed aan de verschillende states die Java objecten kunnen hebben ten opzichte van de database zoals persistent, transient and detached.
Verschillende key generation strategieën worden besproken en ook komen het mappen van association en inheritance relaties op de database aan bod.
Vervolgens wordt aandacht besteed aan de mogelijkheden van de Hibernate Query taal, HQL, Hibernate criteria en het gebruik van native SQL queries.
Tenslotte worden ook Hibernate transacties besproken, wordt het gebruik van annotaties als alternatief voor mapping files aan de orde gesteld en worden de verschillende vormen van Hibernate caching toegelicht.
Ervaren Java developers die Hibernate willen gebruiken voor het benaderen van data in databases.
Ervaring met programmeren in Java en object oriëntatie is vereist. Kennis van databases en SQL is bevorderlijk voor een goede begripsvorming.
De concepten worden behandeld aan de hand van presentatie slides. Demo's worden gebruikt om de concepten te illustreren. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Java Data Access met Hibernate.
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 |