Introduction et objectifs de JPA
Enjeux de la persistance des données
Les modes d’accès aux données
Standardisation des ORM (notamment Hibernate)
Configurer Hibernate
Pourquoi choisir Hibernate (avantages et inconvénients)
JPA facilite l’écriture DAO
Le pont relationnel (définition d’une entité)
JPA et Java 5
Intégration dans l’architecture
Intégration dans une application JEE
Intégration dans le conteneur léger Spring
Intégration directe dans une application WEB
Manipuler des entités
Le cycle de vie
Lien entités et bases de données
Les états d’une entité et mise en relation
Les opérations CRUD (entity manager)
Relation entre les entités
Le mapping objet / relationnel
Objectif d’un ORM
Les fichier XML
Principes et relation avec les classes persistantes
Mapping des classes et associations
Stratégie de mapping
Construire une classe persistante
Simplification d’accès à l’intérieur et à l’extérieur d’un container JEE
Les objets persistants
Lecture
Chargement et processus de développement
Configuration de JPA et de la couche d’accès aux données
Créer, ajouter et supprimer des objets
Sauvegarde et synchronisation
Premier client JPA
Le code
Exécuter le code
Mise en œuvre des logs d’Hibernate et conception
Design Patterns pour couche de persistance
Persistance du modèle objet
Gestion de l’héritage (stratégies, avantages et inconvénients)
Gestion des associations
Découverte du langage JPQL/HQL avec Hibernate
Requête d’interrogation
Requête polymorphiques
Chaînes de caractères et données temporelles
Jointures
Autres requêtes et sous requêtes
Générer une base de données
Avec un script Ant
Exécuter la tâche Ant DDL
Exécuter la tâche Ant BD
Transactions et accès concurrents
Rappel des propriétés d’une transaction
La gestion transactionnelle avec JPA
Intégration dans une application Web
Verrouillage pessimiste et optimiste
A utiliser en relation également
Eclipse (le projet Eclipse)
Toplink
Oracle 10g
PostgreSQL 8.2
SQL Server Express 2005
Firebird 2.0
Apache Derby
HSQLDB
EJB 3