Aller au contenu

Hibernate — Implémentation de JPA

Hibernate est une implémentation très populaire de JPA (Java Persistence API), utilisée pour gérer la persistance des données en Java.


1. Idée simple

JPA = spécification (API) Hibernate = implémentation concrète

➡️ JPA définit comment faire ➡️ Hibernate fait le travail réel


2. Exemple simple

@Entity
class User {
    @Id
    private Long id;

    private String name;
}

Ici :

  • annotations JPA
  • Hibernate va les interpréter pour générer le SQL

3. Rôle de Hibernate

Hibernate gère :

  • mapping objet ↔ table
  • génération de requêtes SQL
  • gestion des transactions
  • cache

4. JPA vs Hibernate

JPA Hibernate
type spécification implémentation
code standard spécifique
portabilité ✔️ ❌ dépend de Hibernate

5. Exemple d’utilisation

EntityManager em = entityManagerFactory.createEntityManager();

em.getTransaction().begin();

User user = new User();
user.setName("Ali");

em.persist(user);

em.getTransaction().commit();

API JPA exécutée par Hibernate


⚡ 6. Fonctionnalités clés Hibernate

  • ORM (Object Relational Mapping)
  • Lazy loading
  • Cache (1er niveau, 2e niveau)
  • HQL (Hibernate Query Language)

7. Pièges fréquents

  • confondre JPA et Hibernate
  • utiliser du code spécifique Hibernate
  • problème de LazyInitializationException

8. Pourquoi utiliser JPA + Hibernate ?

  • abstraction de la base de données
  • réduction du SQL manuel
  • code plus propre

9. Questions classiques

Q1

Hibernate = ? implémentation de JPA


Q2

JPA = ? spécification


Q3

qui exécute le SQL ? Hibernate


10. À retenir

  • JPA = interface standard
  • Hibernate = implémentation concrète
  • utiliser JPA pour rester portable

🧾 En résumé

  • JPA définit les règles
  • Hibernate les applique
  • ensemble = persistance efficace

Hibernate est l’outil le plus utilisé pour implémenter JPA en Java.


Voir aussi