Java Persistance API

Un article de Wikipédia, l'encyclopédie libre.

L’API de persistance Java des données, Java Persistance API abrégé en JPA, fait parti de la spécification EJB 3. Spécification EJB3 qui fait elle-même parti de la plate-forme JEE 5.0.

La persistance des données en EJB3 est possible à l’intérieur d’un conteneur EJB3 aussi bien que dans une application autonome J2SE en dehors d’un conteneur particulier.

Cette API réalise la fusion des travaux sur Hibernate avec la continuité des spécifications EJB précédentes 2.0 et 2.1.

La partie persistance EJB3 doit s’exécuter avec une JVM 5.0, celle de SUN ou JRockit (voir (en) Rockit) contrairement aux EJB 2.1 qui utilisaient le JDK 1.4 (voir (en) Java Development Kit). L’usage des annotations et de la généricité est particulièrement mis en avant.

L’utilisation de JPA est prévue pour tourner avec ou sans conteneur JEE 5.0. Il est donc possible d’exécuter un moteur JPA dans un serveur J2EE 1.4, mais toutefois exécuté à l’aide d’une JVM 5.0.

[modifier] Avantages de JPA

  • Utilisation possible de l’héritage des objets
  • Souplesse d’écriture du code de persistance
  • Grandes possibilités de requêtages avec JPA-QL et les “bulk” UPDATE et DELETE (anciennement nommées EJB-QL, le nouveau terme se justifie par l’évolution apportée)
  • Possibilité de déploiement dans ou hors un conteneur EJB
  • Facilité de tester unitairement les requêtes (hors conteneur EJB)
  • Proche des concepts Hibernate (pour ceux qui l’ont utilisé)

[modifier] Inconvénients de JPA

  • Apprentissage de quelques nouvelles définitions comme EntityManagerFactory, EntityManager, Persistence unit … (toutefois proche des notions existante avec Hibernate).

[modifier] Références externes