2010-10-02 47 views
0

我在服務類中具有以下代碼結構。問題在於例外情況,事務僅回滾「插入A()」。我正在使用spring-ibatis。Spring中的代碼不會回滾事務

function save 
{ 
insert A(); 

for loop_1() 
{ 
    insert B() 
    insert C() 
    insert D() 
} 

for loop_2() 
{ 
    insert E() 
    insert F() --> throws RunTimeException 
} 
} 
+0

這不是java。我們無法用僞代碼來忽略細節。 – skaffman 2010-10-02 11:51:41

回答

0

謝謝大家,我沒有注意到我的一個表不是InnoDB(我正在使用mysql)。我將其更改爲InnoDB,現在交易正在進行。

0

我想你最好檢查方法B()的事務傳播設置),C(),d(),E(並確保它們在同一個物理事務excuted與方法的(),F()。

您使用哪一個,PROPAGATION_REQUIRED或PROPAGATION_REQUIRES_NEW?