Développement backend Java

JPA Java Persistence API

Objectifs

  • Connaître les concepts de la norme JPA,
  • Définir et utiliser un modèle persistant,
  • Connaître les problématiques liées à la persistance d'objets sur bases relationnelles,
  • Utiliser le langage de requêtes objet JPQL,
  • Maitriser les techniques et compromis permettant de garantir de bonnes performances

Programme

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
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
Travaux Pratiques
  • Mise en place de la persistance d’un modèle illustrant les différentes configurations présentées
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
Travaux Pratiques
  • Utilisation des fonctionnalités de requêtage de JPA
Performances
  • Utilisation de Cascade
  • Optimisation du chargement et Lazy Loading
  • Le verrouillage Optimiste
Conclusion
  • Panorama des implémentations
  • Futur des serveurs d’application Java et de la persistance
Please login to get access to the quiz
(Next Lesson) OSGi
Back to Développement backend Java
Public

<ul> <li>Architectes</li><li>Chefs de projets</li><li>Consultants</li><li>Développeurs</li><li>Ingénieurs</li> </ul></div></div>

Pré-requis

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