L'API JPA (Java™ Persistence API) définit la gestion de la persistance et du mappage objet/relationnel au sein des environnements Java EE (Java Enterprise Edition) et Java SE (Java Standard Edition).
L'API JPA (Java Persistence API) représente une simplification du modèle de programmation de la persistance. JPA gère la persistance et le mappage objet/relationnel dans le cadre de la spécification Java EE Enterprise Java Beans 3.0. La spécification JPA définit le mappage objet/relationnel suivant ses propres directives au lieu de s'appuyer sur les implémentations de mappage spécifiques à différents fournisseurs. Toutes ces caractéristiques rendent les applications utilisant JPA plus simples à implémenter et gérer.
JPA combine les meilleures caractéristiques des mécanismes de persistance précédents, tels que les API JDBC (Java Database Connectivity), les structures ORM (Object Relational Mapping) et les objets JDO (Java Data Objects). La création d'entités sous JPA est aussi simple que la création de classes sérialisables. JPA supporte les gros ensembles de données, la cohérence des données, l'utilisation concurrente et les capacités d'interrogations de JDBC. Comme les logiciels objet-relationnel et les bases de données objet, JPA permet d'utiliser les concepts avancés de la programmation objet tels que l'héritage. L'API JPA permet de s'affranchir de toute contrainte particulière à un fournisseur, car elle ne dépend pas d'une spécification stricte comme les entités JDO et EJB 2.x.
L'implémentation de JPA ne vous oblige pas à faire migrer vos applications existantes. Les applications CMP EJB 2.x existantes continuent de s'exécuter sans changement. Certes, JPA ne constitue pas l'idéal pour toutes les applications, mais pour bon nombre d'applications, il fournit une meilleure alternative pour l'implémentation des autres persistances.
Avec les outils JPA et leurs assistants disponibles dans le produit, vous pouvez créer et initialiser automatiquement vos mappages. Il est possible de créer de nouvelles tables de base de données à partir de classes entity existantes (mappage descendant) ou, à l'inverse, vous pouvez créer de nouveaux beans d'entité à partir de tables de base de données existantes (mappage ascendant). Vous avez aussi la possibilité de mapper des tables de base de données existantes à des beans d'entité existants (mappage avec rapprochement à mi-parcours), même s'ils diffèrent par leurs noms et d'autres attributs. Pour plus de souplesse dans la conception de votre application d'accès aux données, vous disposez d'un large choix de types de mappage. Vous pouvez créer des mappages à partir de plusieurs types de classes Java et, pour la conception de votre base de données, vous pouvez spécifier les relations d'héritage des entités avec plusieurs options.
JPA est couvert par la spécification JSR 220 EJB 3.0 : JSR 220: Enterprise JavaBeans 3.0
Lisez les rubriques ci-après avant de créer des applications JPA. Vous y trouverez des informations de planification et une vue d'ensemble des technologies qui vous seront utiles si vous n'êtes pas encore familiarisé avec le développement d'applications JPA dans cet environnement de développement.
Si vous êtes déjà familiarisé avec les technologies sous-jacentes des applications JPA, les rubriques ci-après vous aideront à configurer votre espace de travail pour le développement de telles applications et vous guideront à travers le processus de développement.
Consultez les liens suivants pour plus d'informations :
IBM® Redbooks : WebSphere Application Server Version 6.1 Feature Pack for EJB 3.0