Menu

Persistance Java 5 par la pratique - 2007

Le cours tutoriel « Persistance Java 5 par la pratique » présente l’API JPA (Java Persistence API) apparue avec Java 5. JPA crée un pont relationnel / objet entre les tables d’une base de données liées par des relations et le monde objet manipulé par les applications Java. En ce sens, JPA est un ORM (Object Relational Mapping). Hibernate, qui existe depuis plusieurs années déjà, est probablement l’ORM le plus utilisé actuellement. JPA a tenu compte du succès d’Hibernate et en a repris la plupart des concepts. JPA est une spécification. Dans ce document, nous en présentons deux implémentations : 

  • Hibernate
  • Toplink 

Le document est divisé en deux grandes parties : 

  1. la configuration et l’utilisation de JPA qui occupent les deux tiers du document ;
  2. l’utilisation de la couche JPA dans des architectures multicouches ; 

1 – La configuration et l’utilisation de JPA sont présentées avec des exemples pour les divers types de relations que l’on trouve entre les tables et donc entre les entités, images objet de ces tables : 

  • un-à-un (OneToOne)
  • un-à-plusieurs (OneToMany) et la relation inverse plusieurs-à-un (ManyToOne) 
  • plusieurs-à-plusieurs (ManyToMany)

    Les exemples sont donnés pour divers SGBD : MySQL5, PostgreSQL, Oracle Express, SQL Server Express, Firebird, Apache Derby, Hsql.

2- L’utilisation de la couche JPA dans des architectures multicouches est présentée dans les contextes suivants : 

  • couches [métier] [dao] et [JPA] utilisant les services (injections, transactions) du conteneur léger Spring 2.0 ;
  • couches [métier] [dao] et [JPA] utilisant les services (injections, transactions) du conteneur Jboss Ejb3 ;

Le document se termine avec une application web Tomcat / Spring / JPA.

Si l’intégration de JPA avec Spring est présentée dans ce document, elle est davantage explorée dans le document « Exploiter une base de données relationnelle avec l’écosystème Spring » qui présente l’outil [Spring Data], destiné à la gestion des bases de données relationnelles comme celles non relationnelles, dites NOSQL.

Serge Tahé, janvier 2019

Téléchargements

Le cours tutoriel au format PDF 

L’archive RAR des projets du cours tutoriel sans les jars des dépendances 

L’archive RAR des projets du cours tutoriel avec les jars des dépendances 

Ce cours tutoriel écrit par Serge Tahé est mis à disposition du public selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage dans les Mêmes Conditions 3.0 non transposé.