鍍金池/ 問答/Java  數(shù)據(jù)庫  網(wǎng)絡(luò)安全/ spirng 事務(wù)(樂觀鎖)問題?

spirng 事務(wù)(樂觀鎖)問題?

在一個while循環(huán)中執(zhí)行以下sql,會出現(xiàn)圖中標注的不執(zhí)行, sql是利用version字段來實現(xiàn)樂觀鎖。

clipboard.png

用到的事務(wù)
@Transactional(rollbackFor = Exception.class)


回答
編輯回答
心上人

你可以自行檢查修改返回值, 如影響行數(shù)為0可以自己拋出異常, 否則數(shù)據(jù)庫來講,執(zhí)行update修改多少行對是語義上正確的.

2018年1月20日 08:16
編輯回答
心夠野

返回0是因為前一個語句已經(jīng)更改了version=0+1=1,再以舊條件執(zhí)行當然找不到數(shù)據(jù)返回0啊,但這并不代表沒有執(zhí)行

2017年9月17日 00:06