Architecture Java Persistence API (JPA)

La persistance de données est la capacité de conserver des données entre les exécutions d'applications. La persistance des données est indispensable aux applications d'entreprise en raison de l'accès requis aux bases de données relationnelles. Les applications développées pour cet environnement doivent gérer la persistance elles-mêmes ou utiliser des solutions d'éditeur tiers pour traiter les mises à jour et les extractions de la base de données en préservant la persistance. JPA (Java™ Persistence API) permet de gérer la persistance et le mappage objet-relationnel, ainsi que des fonctions pour les spécifications EJB.

La spécification JPA définit en interne le mappage objet-relationnel au lieu de le confier à des implémentations de mappage spécifiques à leur fournisseur. JPA est basée sur le modèle de programmation Java qui s'applique aux environnements Java EE, mais peut aussi fonctionner dans un environnement Java SE à des fins de test des fonctions de l'application.

JPA représente une simplification du modèle de programmation de persistance. La spécification JPA définit explicitement le mappage objet-relationnel au lieu de le confier à des implémentations de mappage spécifiques à leur fournisseur. JPA standardise la tâche importante de mappage objet-relationnel en utilisant des annotations ou XML pour mapper des objets dans une ou plusieurs tables d'une base de données. Pour simplifier plus encore le modèle de programmation de persistance :
  • L'API EntityManager peut rendre persistants, mettre à jour, extraire ou supprimer des objets d'une base de données.
  • L'API EntityManager et les métadonnées du mappage objet-relationnel traitent la plupart des opérations de base de données sans que vous ayez à rédiger du code JDBC ou SQL pour préserver la persistance.
  • JPA fournit un langage de requête qui supplémente le langage de requête EJB (connu aussi sous le nom JPQL) et que vous pouvez utiliser pour extraire des objets sans avoir à rédiger de requêtes SQL spécifiques à la base de données sur laquelle vous travaillez.

JPA est conçu pour fonctionner aussi bien à l'intérieur qu'à l'extérieur d'un conteneur Java Enterprise Edition (Java EE). Si vous exécutez JPA dans un conteneur, les applications pourront l'utiliser pour gérer le contexte de persistance. S'il n'existe aucun conteneur pour gérer JPA, l'application doit gérer le contexte de persistance elle-même. Les applications conçues pour la persistance gérée par conteneur requièrent moins d'implémentation de code pour gérer la persistance, mais elles ne peuvent pas être utilisées en dehors d'un conteneur. Les applications gérant leur propre contexte de persistance peuvent fonctionner dans un environnement de conteneur ou Java SE.

Les conteneurs Java EE prenant en charge le modèle de programmation EJB 3.x doivent gérer une implémentation JPA, également appelée fournisseur de persistance. Un fournisseur de persistance JPA utilise les éléments suivants en vue de faciliter la gestion de persistance dans un environnement EJB 3.x :
Unité de persistance
Comprend des métadonnées déclaratives qui décrivent la relation des objets de la classe entité avec une base de données relationnelle. EntityManagerFactory utilise ces données pour créer un contexte de persistance accessible via le gestionnaire EntityManager.
EntityManagerFactory
Utilisée pour créer un gestionnaire EntityManager pour les interactions avec la base de données. Les conteneurs du serveur d'applications fournissent généralement cette fonction mais EntityManagerFactory est requis si si vous utilisez la persistance JPA gérée par application. Une instance de gestionnaire EntityManagerFactory représente un contexte de persistance.
Contexte de persistance
Définit le jeu d'instances actives manipulées actuellement par l'application. Le contexte de persistance peut être créé manuellement ou par injection.
EntityManager
Gestionnaire de ressource qui conserve la collection active d'objets entité utilisée par l'application. Il traite les interactions avec la base de données et les métadonnées des mappages objet-relationnel. Une instance de gestionnaire EntityManager représente un contexte de persistance. Une application dans un conteneur peut obtenir le gestionnaire d'entités via injection dans l'application ou en le recherchant dans l'espace nom du composant Java. Si l'application gère sa propre persistance, l'EntityManager est obtenu par la fonction EntityManagerFactory.
Avertissement : L'injection du gestionnaire EntityManager est prise en charge uniquement pour les artefacts suivants :
  • Beans session EJB 3.x
  • Beans EJB 3.x gérés par message
  • Servlets, filtres Servlet et programmes d'écoute
  • Gestionnaires de balises JSP qui implémentent des interfaces javax.servlet. jsp.tagext.Tag et javax.servlet.jsp.tagext.SimpleTag
  • Beans gérés JavaServer Faces (JSF)
  • Classe principale du client d'application
Objets entité
Classe Java simple qui représente une ligne d'une table de base de données, dans sa forme la plus simplifiée. Il peut s'agir de classes concrètes ou abstraites. Ils conservent les états à l'aide de propriétés ou de zones.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_persistence
Nom du fichier : cejb_persistence.html