13.04.2015 Views

Gestion de la persistance avec JPA et Hibernate - Valtech Training

Gestion de la persistance avec JPA et Hibernate - Valtech Training

Gestion de la persistance avec JPA et Hibernate - Valtech Training

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

formation coaching ingénierie inter intra<br />

<strong>Gestion</strong> <strong>de</strong> <strong>la</strong> <strong>persistance</strong> <strong>avec</strong> <strong>JPA</strong> <strong>et</strong> <strong>Hibernate</strong><br />

<strong>Gestion</strong> <strong>de</strong> <strong>la</strong> <strong>persistance</strong> <strong>avec</strong> <strong>JPA</strong> <strong>et</strong> <strong>Hibernate</strong><br />

RÉFÉRENCE PERIB DURÉE 3 jours (21 heures)<br />

La <strong>persistance</strong> d'obj<strong>et</strong>s Java dans une base <strong>de</strong> données re<strong>la</strong>tionnelle se révèle rapi<strong>de</strong>ment complexe <strong>et</strong> coûteuse à<br />

écrire, d'où <strong>la</strong> popu<strong>la</strong>rité grandissante du Framework Open Source <strong>Hibernate</strong>. Alors que <strong>de</strong> moins en moins <strong>de</strong><br />

développeurs sont compétents en SQL, il perm<strong>et</strong> <strong>de</strong> répondre efficacement aux problèmes les plus courants du<br />

mapping obj<strong>et</strong> / re<strong>la</strong>tionnel rendant ainsi le développement plus simple <strong>et</strong> plus rapi<strong>de</strong>. N'ayant rien <strong>de</strong> magique il<br />

doit cependant être utilisé <strong>avec</strong> précaution <strong>et</strong> se trouve encore au coeur <strong>de</strong> beaucoup <strong>de</strong> débats techniques <strong>et</strong><br />

passionnés.<br />

Au terme <strong>de</strong> ce cours vous aurez acquis, sur <strong>JPA</strong> (Java Persistence Api) <strong>et</strong> le Framework <strong>Hibernate</strong>, les<br />

compétences nécessaires pour réaliser une couche <strong>de</strong> <strong>persistance</strong> efficace mappée sur une base existante. Vous<br />

aurez un regard critique sur son efficacité <strong>et</strong> sa pérennité <strong>et</strong> pourrez argumenter sur <strong>la</strong> mise en p<strong>la</strong>ce <strong>de</strong> plusieurs<br />

solutions d'optimisation comme un cache <strong>de</strong> second niveau.<br />

Vous allez apprendre à :<br />

• Rendre persistants vos obj<strong>et</strong>s <strong>avec</strong> <strong>JPA</strong><br />

• Utiliser le <strong>la</strong>ngage <strong>de</strong> requêtes JPQL<br />

• Utiliser <strong>JPA</strong> <strong>avec</strong> une base <strong>de</strong> données existante<br />

• Intégrer un ORM dans différentes architectures (Web <strong>et</strong> distribuées)<br />

• Optimiser l'accès aux données<br />

• Éviter les écueils les plus courants<br />

• Utiliser les annotations <strong>JPA</strong> pour décrire les méta-données <strong>de</strong> mapping<br />

Métho<strong>de</strong> pédagogique :<br />

60% <strong>de</strong> travaux pratiques<br />

Audience :<br />

Développeurs Java, chefs <strong>de</strong> proj<strong>et</strong>s<br />

Pré-requis :<br />

Bonne expérience pratique du <strong>la</strong>ngage Java ou avoir suivi le cours<br />

JOD ou IJOP<br />

Travaux pratiques :<br />

Au cours <strong>de</strong> c<strong>et</strong>te formation, vous réaliserez le mapping d'un modèle métier impliquant les principales techniques<br />

<strong>de</strong> mapping : associations <strong>de</strong> toutes sortes (One-to-One, Many-to-One, Many-to-Many, unidirectionnelles <strong>et</strong><br />

bidirectionnelles), héritage <strong>et</strong> composition. Vous construirez ensuite une couche <strong>de</strong> <strong>persistance</strong> <strong>de</strong> ce modèle<br />

métier <strong>avec</strong> mise en p<strong>la</strong>ce d'une gestion transactionnelle afin <strong>de</strong> bien cerner l'impact d'<strong>Hibernate</strong> sur <strong>la</strong> conception<br />

<strong>de</strong>s couches <strong>de</strong> service <strong>et</strong> <strong>de</strong> <strong>persistance</strong>. Ce cours utilise <strong>Hibernate</strong> comme moteur <strong>de</strong> <strong>persistance</strong> <strong>JPA</strong> ; il peut<br />

néanmoins être suivi si vous utilisez une autre implémentation (TopLink, Open<strong>JPA</strong>...).<br />

Programme :<br />

Mise en oeuvre <strong>de</strong> <strong>la</strong> <strong>persistance</strong><br />

Mapping obj<strong>et</strong> / re<strong>la</strong>tionnel


Processus <strong>de</strong> développement<br />

Connexion à <strong>la</strong> base<br />

• Le gestionnaire d'entité<br />

Configuration d'un Entity Manager<br />

Création, ajout <strong>et</strong> suppression d'obj<strong>et</strong>s<br />

Conception<br />

Design Patterns pour couche <strong>de</strong> <strong>persistance</strong><br />

Persistance du modèle obj<strong>et</strong><br />

<strong>Gestion</strong> <strong>de</strong> l'héritage<br />

• <strong>Gestion</strong> <strong>de</strong>s associations<br />

JPQL<br />

C<strong>la</strong>uses <strong>de</strong>s requêtes<br />

•<br />

Les fonctions d'agrégation<br />

Les requêtes polymorphes<br />

• Criteria<br />

Utilisation avancé<br />

Transactions<br />

Exceptions<br />

<strong>Gestion</strong> du cache<br />

• Lazy Loading<br />

Paris<br />

- 7ème<br />

Écriture du fichier <strong>de</strong> mapping<br />

Utilisation <strong>de</strong>s annotations<br />

<strong>Gestion</strong> <strong>de</strong> l'i<strong>de</strong>ntifiant<br />

•<br />

Me<strong>et</strong> in the Middle)<br />

•<br />

Types <strong>de</strong> données <strong>et</strong> personnalisation<br />

Types <strong>de</strong> mapping (Top-Down, Bottom-Up,<br />

Stratégies <strong>de</strong> mapping d'héritage<br />

Stratégies <strong>de</strong> mapping d'association<br />

Architectures techniques<br />

<strong>JPA</strong> dans une application client / serveur<br />

<strong>JPA</strong> dans une application Web<br />

• <strong>JPA</strong> dans une architecture distribuée<br />

Limitations <strong>et</strong> interrogations<br />

Pourquoi choisir <strong>JPA</strong> ?<br />

Limites techniques<br />

Limites stratégiques<br />

•<br />

Lien entre <strong>JPA</strong> <strong>et</strong> les EJB 3<br />

Avril 2015<br />

du 27 au 29<br />

1 821,00 €<br />

Juill<strong>et</strong> 2015<br />

du 20 au 22<br />

1 821,00 €

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!