[英]Spring Catch JpaSystemException in @Transactional Method and Roll Back Transaction
[英]Should @Transactional method roll back in case of calling a private method which throws RuntimeException in Spring?
交易應該在這里回滾嗎?
@Service
public class Serv {
@Transactional
public void method1() {
method2();
}
private void method2(){
throw new RuntimeException();
}
}
或者它取決於什么?
(在今天之前,我對所描述的行為有 100% 的把握。但是面試官說這要視情況而定。我不同意他的看法,但這當然沒有幫助。)
最佳/通常的結果是你回答的回滾,但面試官說的是一般性陳述,這取決於
也許面試官的意思是檢查你是否知道它什么時候不會按預期回滾
這意味着您不應該假設@Transactional
實際上在工作,應該首先檢查它,因為如果@Transactional
不工作,則不會回滾。
例如,如果在同一個類中調用事務方法,如果從同一個類中的 method3() 調用 method1() @Transactional
將不起作用並且不會回滾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.