2016-07-12 2 views
4

私は次の二つの方法でDAOクラスを持って次のようにサービスクラスで二つの方法

@Transactional 
public void save() throws Exception { 

} 

@Transactional 
public void save2() { 

} 

私はそれらのメソッドを呼び出します。

public void processDAO() { 
    dao.save(); 
    dao.save2(); 
} 

私の質問は、なりこれらのメソッドであります同じトランザクションの一部として実行されるか、独立したトランザクションで実行されるか、またはいずれも実行されません。 processDAO()メソッドまたはコールスタックの上位であるこのメソッドまたはメソッド/クラスのクラスはまた@Transactionalの注釈が付けられている場合

おかげで、よろしく、

答えて

4

は、それらは同じで実行されますそれ以外の場合は2つの異なるトランザクションで実行されます。

4

これらは独立したトランザクションで実行されます。
Showing a Spring transaction in logを参照して確認することができます。 同じトランザクション内のprocessDAO methondを使用する場合は processDAOメソッドで@Transactionalを追加できます