Kann ich zwei verschiedene Entitätsmanager verwenden, die in einer Transaktion auf dieselbe DataSource hinweisen?

StackOverflow https://stackoverflow.com/questions/9005759

Frage

Ich benutze den Frühling mit JPA.Und ich habe zwei Entitymanagers, die unterschiedliche Entitäten (verschiedene Module einer Anwendung) enthalten, und beide zeigen auf dieselbe DataSource.

Kann ich beide in einer Transaktion (unter Verwendung eines einzelnen Transaktionsmanns) verwenden? Muss ich JTA dafür verwenden?Wenn ja, was ist die beste Option, um sie unter Tomcat zu verwenden?

Wie konfiguriere ich es im Frühjahr?

War es hilfreich?

Lösung

Beide Standard-JPA-Transaktionen und der generationspflichtigen SPRINGS-GROSSACDICETAGCODE sind an einen einzelnen JpaTransactionManager gebunden.Sie können nicht mit mehreren Managern sprechen, und können keine Transaktion über sie koordinieren.

Wenn Sie dies tun müssen, müssen Sie entweder Ihre Entity Manager Configs zusammenführen, sodass Sie nur einen generationspoLDICETAGCODE-Modus haben oder JTA-Transaktionen (über den Spring-JTATRANSActionManager) verwenden.

Wenn Sie Tomcat verwenden (die keine Unterstützung außerhalb des Box-JTA-Supports hat), müssen Sie eine JTA-Implementierung von Drittanbietern finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top