2017-10-13 3 views
0

イムは、休止状態使用してJavaのWebアプリケーションを開発し、私は基本的な問題に出くわした:適切Hibernateのレイヤ設計

  • 考えると、ユーザAは、いくつかのHibernateのトランザクションを開始します。トランザクションの開始、ロード、トランザクションのコミット。
  • 同時に、ユーザーBも同様のトランザクションをトリガーします。次に、例外が発生します。ネストされたトランザクションはサポートされていません

一度に複数のトランザクションをアクティブにすることはできないようです。

解決策を探して、トランザクションごとのパターンのような概要説明をたくさん見つけましたが、何も目に見えません。

だから私の質問です:複数の同時ユーザーの休止トランザクションを処理するための適切かつ簡単な方法は何ですか?

+0

Hibernateはもちろん、simulatenousトランザクションを完全に処理することができます:)あなたが持っている例外とそれをトリガーするコードを表示してください。あなたがあなたのトランザクションを処理するために使用するものに依存するので、休止状態の '典型的な'使用はありません。 – Thierry

答えて

0

トランザクション管理は非常に標準的ですが、Hibernateによってスローされた例外は致命的であることを覚えておいてください。トランザクションをロールバックして直ちに現在のセッションを閉じる必要があります。

それぞれのトランザクションをすべて終了する必要があります。

Session session = null; 
Transaction t = null; 
try{ 
    session = HibernateUtil.getSessionFactory().openSession(); 
    t = session.beginTransaction(); 


    //do what ever you want(session); 

    t.commit(); 


}catch(RuntimeException e){ 
     System.out.println(e.getMessage()); 

} 
関連する問題