Was ist der Unterschied zwischen JTA, JPA und Plain JDBC in Bezug auf Ruhezustand?Unterschied zwischen JTA, JPA und Plain JDBC im Ruhezustand
Antwort
Um einen Unterschied zu bestehen, sollte es etwas gemeinsam sein, und abgesehen davon, dass Datenbank-bezogene (obwohl JTA nicht nur das ist), sie haben nichts mehr gemeinsam:
JPA ist ein Standard für die objektrelationale Java-Zuordnung - er gibt eine Reihe von Anmerkungen und eine Schnittstelle an -
EntityManager
, um Persistenzoperationen mit den gemappten Objekten durchzuführen. Hibernate implementiert den JPA-Standardplain JDBC ist eine Technologie für den Zugriff auf Datenbanken. Es ist, was Hibernate tatsächlich verwendet, um die Datenbankoperationen "unter der Haube" durchzuführen. Es verwendet JDBC, um Abfragen an die Datenbank zu senden.
JTA ist eine Transaktions-API, die in Hibernate optional ist. Es behandelt (logisch) das Transaktionsverhalten.
JDBC ist ein Java-Standard für die Datenbankverbindung.
JPA isoliert den Java-Entwickler von den internen Funktionen von JDBC- und Datenbankoperationen.
Hibernate, EclipseLink, OpenJPA und Data Nucleus sind berühmte JPA-Implementierungen.
JTA ist ein Standard für Transaktionen, der die Verwaltung mehrerer Transaktionen zwischen mehreren Datenbanken ermöglicht.
JPA verwendet JDBC für Datenbankverbindungen und SQL-bezogene Vorgänge und verwendet optional JTA, um verteilte Transaktionsverwaltungsdetails an dieses zu delegieren.
Also ist JTA verantwortlich für das Rollback und Commits bei Verwendung eines Entity Managers? Also verwendet JPA JTA? Oder wird JTA verwendet, wenn Sie 2 Datenbank-Replikate sagen? Bitte antworten Ich bin verwirrt – Ced
'Damit ein Unterschied existiert, sollte etwas gemeinsam sein. - Was ist das eine Idee oder eine Tatsache? –