我有兩種方法都是@Transactional的註解,並且都執行一些數據庫操作,主要是插入。Spring @Transactional註解問題
我調用的methodB從
了methodA@Transactional
public void methodA(){
methodB();
// Some database Operations
// some error conditions....
throw exception;
}
@Transactional
public void methodB(){
// Some database Operations
}
所以我要提交的治法和方法b數據庫的事務只有當所有的操作都是成功的。 因此,即使在methodA中遇到異常,methodB中所做的更改仍會被提交。
我想改變MethodB回滾,如果methodA遇到錯誤。
我需要做其他事情嗎?
從你的文章中不太清楚methodA()和methodB()的本質是什麼,但我認爲有人會提到@Transactional註釋最適合服務層中的類的方法 - 你我留下了一些空間來懷疑你是否認爲這些是服務層方法以及有關數據庫操作的評論。但是,當然,服務層將間接在數據庫上運行,所以也許這就是您的意圖。 – unigeek