在SSM項目中,有關事務回滾的處理,在service層中拋出RuntimeException即可,代碼如下:
@Transactional(readOnly = false)
public String save() throws RuntimeException{
// TODO
}
另:注意到部分同學雖然知道業務代碼寫在service中,但在實際編碼中卻寫錯,業務場景如下:
更新考生個人基本信息、個人履歷、家庭成員信息。
此過程中千萬不要出現在controller中寫3個保存方法,分別保存基本信息、個人履歷、家庭成員信息!!
正確的寫法是:在controller做邏輯判斷,然后在service層中提供一個方法,能保存上面3個信息,這樣才是一個業務操作,失敗一個,才能全部回滾。