在@async
標註的方法,同時也使用@transactional
進行標註;在其呼叫資料庫操作之時,將無法產生事務管理的控制,原因就在於其是基於非同步處理的操作。
那該如何給這些操作新增事務管理呢?
可以將需要事務管理操作的方法放置到非同步方法內部,在內部被呼叫的方法上新增@transactional
方法a,使用了@async
/@transactional
來標註,但是無法產生事務控制的目的。
方法b,使用了@async
來標註,b中呼叫了c、d,c/d分別使用@transactional
做了標註,則可實現事務控制的目的。
資料庫事務處理機制
使用sqlitedatabase的begintransaction 方法可以開啟乙個事務,程式執行到endtransaction 方法時會檢查事務的標誌是否為成功,如果程式執行到endtransaction 之前呼叫了settransactionsuccessful 方法設定事務的標誌為成功則提交事...
資料庫事務處理機制
使用sqlitedatabase的begintransaction 方法可以開啟乙個事務,程式執行到endtransaction 方法時會檢查事務的標誌是否為成功,如果程式執行到endtransaction 之前呼叫了settransactionsuccessful 方法設定事務的標誌為成功則提交事...
資料庫事務處理機制
使用sqlitedatabase的begintransaction 方法可以開啟乙個事務,程式執行到endtransaction 方法時會檢查事務的標誌是否為成功,如果程式執行到endtransaction 之前呼叫了settransactionsuccessful 方法設定事務的標誌為成功則提交事...