我面臨着一些奇怪的問題..@Transactional繼續在異常處理
比方說:
@RequestMapping(value = "/do", method = RequestMethod.POST)
public void do() {
try {
Float x = 200;
Float y = 100;
TestObject x = new TestObject(x, y);
x.setX(50);
if (x.getX() > x.getY())
testService.save(x);
else
throw new Exception("ERROR");
}
catch (Exception e) {
errorsService.save(e);
}
}
兩個save
方法被標記爲@Transactional
。
問題:只要代碼引發異常 - errorsService.save(e);
作出提交 - 將50
添加爲x值TestObject
。我試圖宣佈@Transactional(rollbackFor = Exception.class)
- 沒有成功。始終提交,無需回滾!
在所有其他方法中,交易沒有任何問題 - 一切都很完美!
有什麼建議嗎?先謝謝你!
什麼是異常的堆棧跟蹤?它在哪裏拋出? – 2014-11-06 14:51:39
我手動做,這就是我想的問題 – nKognito 2014-11-06 14:52:13
你爲什麼不回答這個問題? – 2014-11-06 14:57:37