JPAでSpringを使用しています。また、異なるエンティティ(1つのアプリケーションの異なるモジュール)を含む2つのEntityManagerがあり、どちらも同じデータソースを指しています。
(単一のTransactionManagerを使用して)1つのトランザクションで両方を使用できますか?そのためにJTAを使用する必要がありますか?もしそうなら、Tomcatの下でそれを使用するための最良のオプションは何ですか?
春に設定するにはどうすればよいですか?
JPAでSpringを使用しています。また、異なるエンティティ(1つのアプリケーションの異なるモジュール)を含む2つのEntityManagerがあり、どちらも同じデータソースを指しています。
(単一のTransactionManagerを使用して)1つのトランザクションで両方を使用できますか?そのためにJTAを使用する必要がありますか?もしそうなら、Tomcatの下でそれを使用するための最良のオプションは何ですか?
春に設定するにはどうすればよいですか?
標準のJPAトランザクションとSpringのJpaTransactionManager
両方が単一にバインドされEntityManager
ます。彼らは複数のマネージャーと話すことができないので、彼らの間でトランザクションを調整することはできません。
これを行う必要がある場合は、エンティティマネージャーの構成をマージして1つだけEntityManager
にするか、(SpringのJtaTransactionManagerを介して)JTAトランザクションを使用する必要があります。
Tomcat(すぐに使用できるJTAサポートがない)を使用している場合は、サードパーティのJTA実装を見つける必要があります。