我正在處理一個服務層,它在執行任務時記錄到數據庫。我希望確保在發生錯誤時不會回滾此日誌,因爲我應該始終記錄失敗的嘗試。下面是示例代碼來解釋我想要的是什麼。嵌套的Spring事務從不回滾
@Transactional(rollbackFor=Exception.class)
public void performTask()
{
//Perform task 1
log("task1Complete");
//Perform task 2
log("task2Complete");
}
@Transactional()
public void log(String message)
{
//commit message to DB
//This should never rollback
}
我假設這樣做的方式是開始一個新的交易,但我不知道如何。