Springではどのような種類のトランザクション管理戦略を使用する必要がありますか?宣言型またはプログラム型?どちらが優れており、どのような状況でそれを使用する必要がありますか?それについての適切な例やチュートリアルを教えてください。
また、春にデータベースコードを書くときに使用すべき最新のものは何ですか?HibernateTemplateの代替は何ですか?
Springではどのような種類のトランザクション管理戦略を使用する必要がありますか?宣言型またはプログラム型?どちらが優れており、どのような状況でそれを使用する必要がありますか?それについての適切な例やチュートリアルを教えてください。
また、春にデータベースコードを書くときに使用すべき最新のものは何ですか?HibernateTemplateの代替は何ですか?
プログラマティックトランザクション管理
宣言型トランザクション管理
それらは相互に排他的ではありません。
@Transactional
ほとんどの場合、decalrativeトランザクション管理()を使用できTransactionTemplate
、Spring AOPの制限に直面した場合(11.5.1 Spring Frameworkの宣言型トランザクション実装についてを参照)、またはより複雑なトランザクションを制御する必要がある場合は、プログラムによるトランザクション管理()にフォールバックできます。方法。
Springは、プログラム型トランザクションと宣言型トランザクションの両方を提供します。
プログラマティックとは、ビジネスコードを取り巻くトランザクション管理コードがあることを意味します。これは非常に柔軟性がありますが、保守が難しく、定型文です。
宣言型とは、トランザクション管理をビジネスコードから分離することを意味します。注釈またはXMLベースの構成を使用できます。
programmatic management is more flexible during development time but less flexible during application life
declarative management is less flexible during development time but more flexible during application life
http://docs.spring.io/spring/docs/3.0.x/reference/transaction.html
宣言型トランザクション管理により、Javaコードからトランザクションフレームワークへの依存関係を排除できます。トランザクションサポートを提供する4つの参加者は、トランザクションマネージャー、プロキシファクトリ、トランザクションインターセプター、および一連のトランザクション属性です。
NamedJDBCTemplateまたはsimpleJDBCTemplateのいずれかのHibernateTemplatesの代替である宣言型トランザクション管理の使用を提案します
と
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/transaction.html
一般に。
例:
http://www.springbyexample.org/examples/hibernate-transaction-annotation-config.html
新機能:SessionFactoryでDIを使用することをお勧めします。3.1の新機能であるHibernate4のサポートもご覧ください。http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/new-in-3.1.html#d0e1385を参照してください
プログラムによるトランザクション管理は、通常、トランザクション操作の数が少ない場合にのみお勧めします。たとえば、特定の更新操作に対してのみトランザクションを必要とするWebアプリケーションがある場合、Springまたはその他のテクノロジを使用してトランザクションプロキシを設定したくない場合があります。この場合、TransactionTemplateを使用することをお勧めします。トランザクション名を明示的に設定できることも、トランザクション管理へのプログラムによるアプローチを使用してのみ実行できることです。
一方、アプリケーションに多数のトランザクション操作がある場合、宣言型トランザクション管理は通常価値があります。トランザクション管理をビジネスロジックから遠ざけ、構成は難しくありません。
Springがサポートするトランザクション管理には2つのタイプがあります。
1.プログラムによるトランザクション管理:トランザクションはプログラミングの助けを借りて管理され、非常に柔軟性がありますが、維持するのは困難です。
2.宣言型トランザクション管理:トランザクション管理はビジネスコードから分離されており、トランザクションの管理には注釈またはXMLベースの構成のみが使用されます。