Jakarta Persistence et Hibernate

Souvent utilisé comme implémentation de l'API JPA, Hibernate est un framework phare de l'écosystème Java. Il fournit une solution de persistance, la base de données est alors considérée comme l'espace de stockage des entités du modèle.

Ce cours vous permettra d'acquérir les bases d'Hibernate et d'assimiler ses nombreuses subtilités, condition nécessaire à une utilisation sereine et maitrîsée.

(17,5 heures)

En présentiel ou en classe virtuelle
En français ou en anglais
Public

Développeurs et développeuses Java, architectes

Accessible aux personnes en situation de handicap

Délai

Le cours peut être organisé dans un délai d'un mois.

Objectifs

A l'issue du cours vous saurez:

Prérequis

Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), une habitude de travailler avec Eclipse ou IntelliJ.

Méthodes pédagogiques

Programme détaillé

Accès aux données: introduction, rappels, bonnes pratiques
  • Les différents types de base de données (SQL, NoSQL).
  • L'exécution non bloquantes des opérations I/O.
  • L'utilisation d'un pool de connexions.
  • Les transactions.
  • Le mapping objet / base de données.

Mise en pratique: étude des table et des entités qui seront utilisées pour les exercices.

Prise en main d'Hibernate en tant qu'implémentation de Jakarta Persistence API
  • La déclaration du pool de connexions.
  • L'EntityManagerFactory et son paramétrage.
  • L'EntityManager et son cycle de vie.
  • Les transactions.
  • Les logs.

Mise en pratique: configuration des liaisons entre la base de données et Hibernate.

Le mapping des entités vers les tables de la base de données
  • Identifiant et propriétés basiques.
  • Les relations d'associations.
  • Les relations de compositions.
  • L'héritage.
  • Les converters.
  • Les observateurs d'évènements.

Mise en pratique: écriture d'un mapping par annotations entre les entités et les tables.

Les opérations CRUD avec l'EntityManager
  • Le cycle de vie de l'EntityManager et le rôle du conteneur (CDI, Spring).
  • Les opérations create, read, update, delete.
  • Les états d'une entité: attachée, détachée, transiente.
  • Le lazy loading.
  • Le cache de niveau 1, de niveau 2.
  • Les requêtes avec le langage JPQL.
  • Les requêtes natives.

Mise en pratique: manipulation d'entités persistance avec l'EntityManagerdans un projet, écriture de requêtes, démarcation transactionnelle.

Prix et financements

2 12

Réduction de 50% pour les associations reconnues d'utilité publique.

Sources de financements pour les organisations françaises:

Contact

Questions, inscriptions, demande d'adaptation: