Maison > base de données > tutoriel mysql > le corps du texte

Comment Spring JPA gère-t-il les connexions avec Hibernate ?

Barbara Streisand
Libérer: 2024-10-26 15:47:30
original
876 Les gens l'ont consulté

How Does Spring JPA Manage Connections with Hibernate?

Comprendre la gestion des connexions dans Spring JPA avec Hibernate

Dans Spring JPA (Hibernate), les connexions sont gérées via l'interaction du gestionnaire de transactions Spring , l'API de transaction JPA, l'interface de session d'Hibernate et le pool de connexions sous-jacent.

Initiation et liaison de transaction

  1. Les méthodes de service transactionnel sont interceptées par l'aspect TransactionInterceptor .
  2. Le TransactionIntreceptor délègue la gestion au JpaTransactionManager.
  3. JpaTransactionManager lie la transaction Spring à un EntityManager.

Acquisition et fermeture de connexion

  1. L'API de transaction JPA utilise l'API de transaction EntityManager pour lancer des transactions.
  2. La session Hibernate utilise la connexion JDBC pour gérer les transactions.
  3. Lorsque la transaction se termine (validation/annulation ), la JdbcTransaction se ferme.
  4. Cela déclenche la fermeture de la session Hibernate et la fermeture de la connexion JDBC.
  5. Le pool de connexions renvoie la connexion au pool.

Connection Pooling

Les connexions renvoyées au pool sont gérées par le DataSource de pooling de connexions. La connexion JDBC elle-même est un proxy qui intercepte les appels clôturés et les délègue au pool de connexions, empêchant ainsi la résiliation physique de la connexion à la base de données.

Transactions RESOURCE_LOCAL

Pour les transactions RESOURCE_LOCAL, considérez définition de la propriété hibernate.connection.provider_disables_autocommit pour garantir que les connexions à la base de données sont acquises paresseusement lorsque cela est nécessaire afin d'éviter les problèmes de validation automatique dus à la validation automatique désactivée dans le pool de connexions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!