web-dev-qa-db-ja.com

どのトランザクションマネージャーを使用しますか? (JPA、春)

JPA + Hibernate、Spring、WicketをベースにしたWebアプリケーションを開発しています。コードにトランザクションを実装する最良の方法は何だろうと思っていましたか?どのトランザクションマネージャーを使用する必要がありますか? org.springframework.orm.jpa.JpaTransactionManager、またはorg.springframework.jdbc.datasource.DataSourceTransactionManager または、他の何か?トランザクションの管理にSpringを使用したいと思います。

20
John Manak

ナンダは正しい 、あなたはJpaTransactionManagerのみを使用できます。ここで説明しているトランザクションマネージャーの抽象化は、Springの PlatformTransactionManager インターフェイスであり、 JPATransactionManager はJPAを理解するそのインターフェイスの唯一の実装です。

このトピックをよりよく理解するには、Springリファレンスの トランザクション管理 の章を読む必要があります。

25
org.springframework.orm.jpa.JpaTransactionManager

私の好みは、これを注釈付きで使用することです。

<tx:annotation-driven transaction-manager="myTxManager" />
6
nanda

Org.springframework.transaction.PlatformTransactionManagerインターフェースは、実行時にトランザクション操作を制御するための基本的なメソッド(開始、コミット、ロールバック)を提供するSpringAPIの主要な抽象化です。

PlatformTransactionManagerインターフェース、その実装

  1. JtaTransactionManager ----->[〜#〜] jta [〜#〜]
  2. DataSourceTransactionManager ----->[〜#〜] jdbc [〜#〜]
  3. JpaTransactionManager ------>[〜#〜] jpa [〜#〜]
  4. HibernateTransactionManager ------>Hibernate

それはあなたが使用している春の群れをあなたの要求に依存します

5
Neeraj Gahlawat