Spring @Transactional
能掛在類別或方法前來管理交易,預設觸發rollback的機制如下。
@Transactional
若沒有設定任何回滾(rollback)條件,例如沒有設定rollbackFor
屬性,則預設只有交易發生的RuntimeException
或Error
才會進行rollback,對於能被捕捉的Exception
例外並不會rollback。
若要對Exception
進行rollback,則在交易所在的方法/類別的@Transactional
設定rollbackFor
屬性如下。
@Transactional(rollbackFor = Exception.class)
public void doTransaction() {
...
}
沒有留言:
張貼留言