Opleidingstype   Klassikaal
Trainingskosten Zie kostenspecificatie
Segmenten

Java

,

Programmeertalen

Code: T-JAV901

Doelgroep

Ervaren Java ontwikkelaars die Hibernate willen inzetten voor het benaderen van data in databases.

Korte inhoud

In deze cursus komt Object Relational mapping met Hibernate aan de orde. Na een overzicht van de data access mogelijkheden in Java, waaronder JDBC, en de problemen daarbij, wordt ingegaan op de basis concepten en architectuur van het Hibernate Framework. De rol van het Hibernate configuration file wordt besproken en vervolgens wordt ingegaan op het mappen van Java classes op database tabellen. Hierbij wordt de rol en de structuur van de XML mapping files besproken evenals de verschillende properties en attributen die daarbij een rol spelen. De centrale rol van de Hibernate Session die vanuit de Hibernate SessionFactory wordt aangemaakt komt aan de orde en aandacht wordt besteed aan de verschillende toestanden die Java objecten in relatie tot de database kunnen hebben zoals persistent, transient en detached. Ook de verschillende key generation strategies komen aan de orde en het mappen van associatie relaties en inheritance relaties op de database zijn onderdeel van de cursus. Vervolgens worden de mogelijkheden van Hibernate Query language, HQL, besproken en is er aandacht voor Hibernate criteria en het gebruik van native SQL queries. Tenslotte komen ook transacties in Hibernate aan bod, is er aandacht voor het gebruik van annotaties als alternatief voor XML mapping files en passeren de verschillende varianten van Hibernate caching de revu.

Voorkennis

Ervaring met Java programmeren en object orientatie is vereist. Kennis van database structuren en SQL is bevordelijk voor een goede begripsvorming.

Invulling

This comprehensive Hibernate class supplies an complete course into the world of Hibernate. With a strong hands-on character and many (many!) ready to use demos, this course makes you competent to start using Hibernate in a correct way, the minute you leave the class room.

Duur

3 dagen. De trainingsdagen duren van 09.30 uur tot 16.30 uur.

Opleidingsdata en locaties (inschrijven is mogelijk voor al deze momenten)


Startdatum Variant Dag Locatie Inschrijven Planning
06-06-2012 Dag Woensdag Regio Amsterdam Inschrijven Planning
06-06-2012 Dag Woensdag Regio Arnhem Inschrijven Planning
06-06-2012 Dag Woensdag Regio Den Haag Inschrijven Planning
06-06-2012 Dag Woensdag Regio Driebergen Inschrijven Planning
06-06-2012 Dag Woensdag Regio Eindhoven Inschrijven Planning
06-06-2012 Dag Woensdag Regio Groningen Inschrijven Planning
06-06-2012 Dag Woensdag Regio Rotterdam Inschrijven Planning
06-06-2012 Dag Woensdag Regio Utrecht Inschrijven Planning
06-06-2012 Dag Woensdag Regio Zwolle Inschrijven Planning
01-10-2012 Dag Maandag Regio Amsterdam Inschrijven Planning
01-10-2012 Dag Maandag Regio Arnhem Inschrijven Planning
01-10-2012 Dag Maandag Regio Den Haag Inschrijven Planning
01-10-2012 Dag Maandag Regio Driebergen Inschrijven Planning
01-10-2012 Dag Maandag Regio Eindhoven Inschrijven Planning
01-10-2012 Dag Maandag Regio Groningen Inschrijven Planning
01-10-2012 Dag Maandag Regio Rotterdam Inschrijven Planning
01-10-2012 Dag Maandag Regio Utrecht Inschrijven Planning
01-10-2012 Dag Maandag Regio Zwolle Inschrijven Planning

Programma

Module : Java Persistence

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

Module : Hibernate Basics

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

Module : Mapping Persistent Objects

POJO’s and JavaBeans
equals and hashcode
Basic Mappings
Class to Table Mappings
Property Mapping
Identifiers and Generators
Multiple Table Mappings
Hibernate SessionFactory
Hibernate Session
Entities and Values
Entity Lifecycle
Persistent State
Transient State
Persistent Object Updates
Automatic Dirty Checking
Detached State
Deleting Objects
Merging

Module : Mapping Relationships

Type of associations
Many-to-one
Bidirectional Many-to-one
Mapping to List, Map
Mapping to Bag and Array
Using Comparator
One-to-one
Bidirectional One-to-one
Many-to-many
Bidirectional Many-to-many
Many-to-many Identifier Bag
Value Type Collections
Collections of Components
Sorting Collections
Cascading over associations
Lazy versus Eager Loading
Proxies
Detached Objects and Proxies
Polymorphic Associations

Module : Mapping Inheritance

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

Module : Queries with HQL and Criteria

Hibernate Fetching Options
Hibernate Query Language
HQL Parameters
Named Queries
Native SQL
Criteria
Restrictions
Query By Example
Scrolling and Pagination
Query Hints
Query Option Pros/Cons
N+1 Selects
Join Fetching
Subselect Fetching
Batch Fetching
Queries and Fetching Strategies
Cartesian Product Problem

Module : Transactions and Concurrency

Java Transaction API
JTA versus JDBC Transactions
Transaction Configuration
Hibernate Transaction API
Transaction handling pattern
Concurrency
Isolation Levels
Optimistic Locking
Versioning
Pessimistic Locking
ThreadLocal Transactions
Conversations
Session Lifetime
Concurrent Access

Module : Hibernate Annotations

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

Module : Hibernate Configuration

Connection Pools
The promise of Cache
Hibernate Caching Architecture
First Level Cache
Second Level Cache
Cache Concurrency
Configuring Second Level Cache
Cache Regions
Eviction

Kosten

Inschrijfgeld: € 25,-
Trainingskosten: €1245,-
Studiemateriaal: € 120,-
Certificaatkosten: €25,-
Locatie- en arrangementskosten: Zie onderstaande toelichting

Locatie- en arrangementen

Twice regelt voor de dagopleidingen van maandag tot en met zaterdag een arrangement à € 50 per dag. Een dagarrangement bestaat uit zaalhuur, gebruik van ICT-middelen, onbeperkt koffie, thee, frisdrank, ijswater en een lunch. De kosten van de arrangementen worden direct aan u doorberekend.

Btw

Op alle opleidingen en trainingen is 19% btw van toepassing en voor het studiemateriaal 6%. Met uitzondering van volledige MBO niveau 2, 3 en 4 opleidingen en de volledige HBO Bacheloropleidingen. Voor organisaties die geen btw kunnen terugvorderen, bestaat de mogelijkheid het volledige aanbod op deze website btw vrij gefactureerd te krijgen. In dit geval wordt een btw correctie van 10% toegepast. Dit betekent een voordeel van 7,5% op de inclusief btw prijs. De hoogte van btw is onder voorbehoud van eventuele wetswijzigingen.

Code: T-JAV901

Nieuwsbrief van Twice?