2011-06-25 10 views
0

ビジネスロジックレイヤー(BLL)でトランザクションを管理する方法を知りたい。ビジネスロジックレイヤーでトランザクションを管理する方法

私の質問に対する回答を見つけるためにこのサイトを検索しましたが、成功しませんでした。

Webアプリケーションでhibernateとstrutsを使いたいです。

strutsのアクションでは、私はBLL関数を呼び出します。私はアクションを実行するために休止状態機能を使用し、DALでは

Begin transaction 
try { 
    Call DAL to do something 
    ... 
    Call DAL to do something 
    Commit Transaction 
catch { 
    Roleback Transaction 
} 

:BLL機能で

は、私はこのようにしたいです。

しかし、私はBLLでトランザクションを管理する方法を見つけることができません。

助言をお願いします。

ありがとうございました。

答えて

0

最も一般的な方法は、トランザクション管理と接続管理をアスペクトとして追加することです。 Springを使用している場合、@Transactionalとして、サービスの対応するメソッドに注釈を付ける(ビジネスロジックはサービスに含まれています)のように簡単です。

+0

私のBLLは多くのサービスに従います。私はこの記事を見つけたhttp://www.devarticles.com/c/a/Java/Managing-Transactions-with-Hibernate/3/。しかし、私はこのポストのようにすればリスクがあるのだろうかと思う。私は前に春について読んだことはありません。だから、私はこのポストか春に流れますか? – hieund

+0

この記事は時代遅れであり、非常に悪いコードを含んでいます。 Spring、Guice、EJB3または他のフレームワークを使用して、宣言的にトランザクションを処理できるようにします(例:注釈付き)。それ以外の場合は、トランザクション管理が複雑になり、おそらくバグが多くなります。 –

+0

私の目!私の目!まあ、私は、すべてのコードを見て、Spring(または他のDI/AOPフレームワーク)アノテーション@Transactionalを使用することの優雅さを本当に感謝することができたと思います。 – Olaf

関連する問題