Obiettivi
Fornire le basi per la progettazione e l'implementazione
di applicazioni basate su Hibernate per la persistenza
di oggetti Java su database relazionali. Offrire una
panoramica sulle metodologie e gli strumenti più
comunemente utilizzati.
Descrizione
Object Relational Mapping con Hibernate. Teoria e pratica.
Strategie ed architetture. Definizione delle regole
di mapping O/R, linguaggi di query, operazioni CRUD,
transazionalità e prestazioni.
Argomenti
trattati
Persistenza di oggetti Java su database relazionali:
il problema dell'impedance mismatch, object/relational
mapping, possibili soluzioni.
Introduzione a Hibernate: breve descrizione dell'architettura,
componenti fondamentali e configurazione.
Mapping delle classi persistenti: modello di dominio
degli oggetti, file di mapping xml, identità
degli oggetti e granularità, mapping delle relazioni
di ereditarietà e delle associazioni.
Operazioni su oggetti persistenti: ciclo di vita, operazioni
CRUD, caratteristiche avanzate, linguaggi di query.
Strategie di gestione delle transazioni, gestione della
concorrenza, il meccanismo di caching.
Mapping avanzato: CustomTypes, mapping di Collections,
relazioni e associazioni polimorfiche.
Performance tuning: ottimizzazione delle query e funzionalità
avanzate dei linguaggi di query.
Hibernate toolset: panoramica sugli strumenti (open-source)
a supporto dello sviluppo
Durata
del corso prevista
2 giorni.
Strumenti
utilizzati durante il corso
Ambiente di sviluppo: Eclipse (con JBossIDE plugin)
o JBuilder .
Application Server: JBoss
Database: MySQL.
A
chi si rivolge
Il corso si rivolge a Sviluppatori e/o Architetti
con esperienza nel linguaggio java e nei database relazionali.
Percorso
formativo propedeuticità
I corsi Java Base e Java Avanzato sono propedeutici
rispetto al corso Hibernate.
Per il corso sono richieste: buona conoscenza del linguaggio
Java, sufficiente conoscenza del linguaggio SQL, familiarità
con i class diagram UML. La conoscenza dell'architettura
J2EE è un requisito preferenziale non discriminante.
|