Service 調用 Service方法 事務失效

情況1:接口方法沒有添加 @Transactional 註解,事務不會開啓,如果該方法體內調用其他有事務的方法時,且調用方法爲this.Method 時,那麼被調用的方法即使添加了 @Transactional 註解 也不會有事務產生(如調用方法1)。

情況2:接口方法沒有添加 @Transactional 註解,但是使用service.Method() 調用其他有事務的接口方法,那麼被調用的方法會產生事務(如調用方法2)。

調用方法1:

pubilc serviceImpl (){

@Overide

pubilc void add(){

add-sql;

this.B();

}

調用方法2:

pubilc serviceImpl (){

@Overide

pubilc void add(){

add-sql;

service.B();

}

@Overide@Transaction

public void update(){

update-sql;

throw new RuntimeException();

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章