Persistenzeinheit als RESOURCE_LOCAL oder JTA?
Habe ich Abfragen wie folgt:
- Was ist der Unterschied der beiden?
- Sind diese beiden unterstützt von allen Datenbanken?
- Sind JPA TransactionManager und JTA-TransactionManager anders?
InformationsquelleAutor der Frage cometta | 2009-12-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
JPA-Implementierungen haben die Wahl der Verwaltung von Transaktionen selbst (
RESOURCE_LOCAL
), oder dass Sie von der Anwendung verwaltet server-JTA-Implementierung.In den meisten Fällen, RESOURCE_LOCAL ist in Ordnung. Dies würde grundlegende JDBC-level-Transaktionen. Der Nachteil ist, dass die Transaktion lokal auf der JPA persistence unit, wenn Sie so wollen, eine Transaktion, die sich über mehrere persistence units (oder andere Datenbanken), dann RESOURCE_LOCAL kann nicht gut genug sein.
JTA wird auch verwendet für die Verwaltung von Transaktionen über mehrere Systeme hinweg, wie JMS und JCA, aber das ist ziemlich exotischen Nutzung für die meisten von uns.
Verwenden, JTA, für die Sie Unterstützung benötigen Sie in Ihrer Anwendung-server, und auch die Unterstützung von JDBC-Treiber.
InformationsquelleAutor der Antwort skaffman
Als Zusatz zu den anderen Antworten
Hier ist ein Auszug von den extrem nützlichen Artikel (veröffentlicht auf der Apache TomEE website), das kann auch helfen, beantworten Sie die OP die erste Frage (der link zu dem Artikel ist unten).
Alle interessierten in das erlernen der Java-Persistence-API - bitte tun Sie sich einen gefallen und Lesen Sie den vollständigen Artikel hier: JPA-Konzepte: JPA 101.
InformationsquelleAutor der Antwort informatik01
Resource_Local und JTA sind Transaktions-Manager (Methoden der Durchführung von Transaktionen). Dies ist nicht die Eigenschaft der Datenbank, aber die Komponente zuständig für die Koordination der Transaktionen. JPA und JTA Transaktion Manager sind anders. JPA-Transaktions-manager ist verantwortlich für die JPA-Transaktionen und die Sie verwenden möchten, wenn Sie nur tun, JPA transaction. JTA transaction manager Allgemeine Zweck der Transaktion-manager und können gewinnen Sie andere Ressourcen wie JMS-Warteschlangen, die in der Transaktion. In der Regel Java-EE-Container beschäftigen einen JTA-Transaktions-manager für EJBs, JPA-Entitäten, usw.
InformationsquelleAutor der Antwort Chandra Patni