Différence entre JTA, JPA et Plain JDBC en veille prolongée

Quelle est la différence entre JTA, JPA et Plain JDBC en termes d’hibernation?

Pour qu’une différence existe, il devrait y avoir quelque chose en commun et, outre le fait qu’elles soient liées à une firebase database (bien que JTA ne soit pas le seul), elles n’ont rien de plus en commun:

  • JPA est un standard pour le mappage relationnel-object Java – il spécifie un ensemble d’annotations et une interface – EntityManager pour effectuer des opérations de persistance avec les objects mappés. Hibernate implémente le standard JPA

  • plain JDBC est une technologie permettant d’accéder aux bases de données. C’est ce que Hibernate utilise réellement pour effectuer les opérations de la firebase database “sous le capot”. Il utilise JDBC pour envoyer des requêtes à la firebase database.

  • JTA est une API de transaction, facultative dans Hibernate. Il gère (logiquement) le comportement de la transaction.

JDBC est un standard Java pour la connexion à la firebase database.

JPA isole le développeur Java du fonctionnement interne des opérations JDBC et de firebase database.

Hibernate, EclipseLink, OpenJPA et Data Nucleus sont des implémentations JPA célèbres.

JTA est un standard pour les transactions, permettant la gestion de plusieurs transactions entre plusieurs bases de données.

JPA utilise JDBC pour les connexions de firebase database et les opérations liées à SQL, et utilise éventuellement JTA pour lui déléguer les détails de la gestion des transactions dissortingbuées.