Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Java > JPA - Conception et développement

JPA - Conception et développement

Encapsulez vosAPI de Persistance Java avec JPA

L'intérêt d'implémenter une couche de mapping objet-relationnel entre un modèle métier « objet » et une base de données relationnelle n'est probablement plus à démontrer : le code qui contient les requêtes SQL est isolé dans un endroit unique, permettant une adhérence réduite au schéma de la base ; le modèle métier peut respecter les principes de la programmation objet, utiliser l'héritage et la navigation. Issue des travaux du groupe d'experts de la JSR 220 (EJB 3), JPA est une spécification clé de Java EE. Loin d'être un framework de plus, JPA établit une norme standard simplifiée pour la persistance afin de garantir une meilleure portabilité des applications Java EE. JPA reprend naturellement les meilleures pratiques de frameworks établis tels Hibernate ou TopLink. EJB 3 s'appuie sur JPA pour la persistance des entités. Cette formation permet de comprendre et d'expérimenter JPA par la pratique.

Objectifs

  • Connaître les concepts de la norme JPA
  • Apprendre à définir et à utiliser un modèle persistant
  • Connaître les problématiques liées à la persistance d'objets sur bases relationnelles
  • Comprendre comment utiliser le langage de requêtes objet JPQL
  • Être capable de maîtriser les techniques et compromis permettant de garantir de bonnes performances

Public

  • Architectes
  • Chefs de projets
  • Consultants
  • Développeurs
  • Ingénieurs

Prérequis

  • Bonne pratique des applications web avec Java (Servlet/JSP)
  • Bonne pratique de Java

Programme de la formation

1) La problématique de persistance

  • Le mapping objet-relationnel
  • Intérêt de JPA, positionnement
  • JPA et les serveurs d'applications
  • Historique des solutions, Hibernate, TopLink, EJB
  • Java EE : historique
  • Les serveurs Java EE

2) Le modèle de persistance

  • Définition d'une entité persistante, concept de POJO, les attributs, les relations
  • Entité et Identité
  • Cycle de vie des entités
  • Mise en place d'un mapping
  • Mapping sans annotations
  • Mapping par annotations
  • Déclaration des attributs
  • Représentation des différents types de relation entre entités : classe embarquée, relation 0..1, relation 1..N et N..1, relation N..M
  • Manipulations CRUD des entités
  • Gestion de la bidirectionnalité (ou relation inverse
  • Gestion de l'héritage et du polymorphisme
  • Mapper une entité sur plusieurs tables

3) Travaux pratiques

  • Mise en place de la persistance d'un modèle illustrant les différentes configurations

4) Manipulation des Entités

  • Le concept d'Entity Manager
  • Gestion des Transactions, JTA (java Transaction API
  • Les requêtes : requêtes nommées et requêtes dynamiques, JPQL (Java Persistence Query Language
  • Définition d'une requête
  • Exécution d'une requête
  • Requêtes paramétrées
  • Syntaxe JPQL

5) Travaux pratiques

  • Utilisation des fonctionnalités de requêtage de JPA

6) Performances

  • Utilisation de Cascade
  • Optimisation du chargement et Lazy Loading
  • Le verrouillage Optimiste

7) Conclusion

  • Panorama des implémentations
  • Futur des serveurs d'application Java et de la persistance

Les + de cette formation

L'apprentissage par
la pratique : les nombreux ateliers réalisés durant cette formation permettront aux participants de disposer d'une première expérience dans le développement avec JPA.
Les retours d'expériences de consultants experts en développement d'applications Java.