Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Travailler avec ORM : JPA et Hibernate | Travailler avec des Bases de Données
Backend Spring Boot
course content

Contenu du cours

Backend Spring Boot

Backend Spring Boot

1. Notions de Base du Développement Backend
2. Notions de Base de Spring Boot
3. API RESTful
4. Travailler avec des Bases de Données
5. Tester les Applications Backend

book
Travailler avec ORM : JPA et Hibernate

Comme vous le savez déjà, le Mapping Objet-Relationnel (ORM) est une technologie qui permet aux développeurs d'interagir avec une base de données au niveau des objets plutôt qu'à travers des requêtes SQL.

En essence, ORM est un concept qui permet à un objet Java d'être représenté comme des données dans une base de données (et vice versa). Il est implémenté sous la forme de la spécification de l'API de Persistance Java (JPA).

JPA

Exemple de la vie réelle

Imaginez que JPA est comme une norme pour les prises électriques dans différents pays. Cette norme définit à quoi une prise doit ressembler et quelles spécifications elle doit suivre pour que les appareils puissent y être branchés.

Cependant, la norme elle-même ne fabrique pas les prises. Pour les utiliser réellement, vous avez besoin de fabricants qui mettent en œuvre cette norme. Ils créent les prises réelles qui s'y conforment.

Principaux composants de la JPA

Les composants JPA sont des éléments clés qui travaillent ensemble pour fournir des fonctionnalités d'interaction avec une base de données.

Nous explorerons ces composants à travers des exemples réels pour vous aider à mieux les associer pour une utilisation future.

Entité

Rappelons ce qu'est une entité. Une entité est une classe dans votre code qui représente une table dans la base de données. Par exemple, la classe User décrit quelles données liées à l'utilisateur nous stockons.

Imaginez-le comme une carte de visite. La carte contient le nom, le titre du poste et les coordonnées d'une personne. En JPA, une classe d'entité décrit toutes les caractéristiques importantes d'un objet, tout comme une carte de visite décrit une personne.

EntityManager

Dans JPA, le EntityManager effectue des opérations telles que l'ajout, la mise à jour ou la suppression de dossiers, gérant toutes ces actions.

EntityManager est responsable de la gestion du cycle de vie des entités (objets) et de leur interaction avec la base de données.

Principales méthodes

Voici comment utiliser EntityManager dans Spring Boot

Contexte de Persistance

Cycle de vie des entités

  • Transitoire : L'entité vient d'être créée mais n'a pas encore été enregistrée dans la base de données ;
  • Gérée : L'entité a été enregistrée dans la base de données et est gérée par le EntityManager. Tous les changements sont automatiquement suivis ;
  • Détachée : L'entité était précédemment gérée, mais le contexte de persistance a été fermé ou le EntityManager a été effacé. Les changements dans cet état ne sont pas suivis automatiquement ;
  • Supprimée : L'entité a été marquée pour suppression de la base de données.

Lorsque le EntityManager crée ou trouve une entité, il place cette entité dans le contexte de persistance.

Tous les changements apportés à l'entité gérée sont automatiquement suivis, et à la fin de la transaction, ces changements sont synchronisés avec la base de données.

JPQL (Java Persistence Query Language)

Dans JPQL, vous écrivez des requêtes pour trouver ou modifier des données dans la base de données en utilisant un style orienté objet.

Dans JPQL, nous ne traitons pas directement avec les noms de table et de colonne. Au lieu de cela, nous référençons la classe Category et son champ title, rendant la requête plus facile à comprendre pour les développeurs Java. JPQL abstrait la structure sous-jacente de la base de données, vous permettant de vous concentrer sur le modèle orienté objet.

Hibernate

Par exemple, Hibernate peut automatiquement générer et mettre à jour les tables de la base de données en fonction de vos entités (classes).

Hibernate intègre des mécanismes de mise en cache qui permettent aux données fréquemment utilisées d'être stockées en mémoire, réduisant ainsi le nombre de requêtes à la base de données et accélérant les performances de l'application.

1. Qu'est-ce que JPA ?

2. Quelle interface dans JPA est utilisée pour effectuer des opérations sur les entités ?

Qu'est-ce que JPA ?

Qu'est-ce que JPA ?

Sélectionnez la réponse correcte

Quelle interface dans JPA est utilisée pour effectuer des opérations sur les entités ?

Quelle interface dans JPA est utilisée pour effectuer des opérations sur les entités ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt