我試圖用flush:true
更新數據庫save()
的操作。調試器顯示狀態已更新,但是當我使用此sql時,我仍處於舊狀態。「保存」不起作用,嘗試刷新並failOnError:true,但沒有給出錯誤
我現在用的是石英插件運行的預定cron作業是從同一個表上寫着:
DomainName.withTransaction{ status ->
try
{
DomainName name = DomainName.get(123)
name.status = "newstatus"
name.save(flush:true,failOnError:true)
}
catch(Exception rte)
{
log.error "Update failed with error ${rte.message}"
status.setRollbackOnly()
}
}
有沒有人遇到過類似的問題?在打開休眠登錄時沒有錯誤config.groovy
debug 'org.hibernate.SQL'
'org.hibernate.transaction'
你在哪裏有保存邏輯? – Alidad
您是否嘗試刪除flush:true?當你使用withTransaction時,會話將在事務結束時被刷新,所以你不需要使用flush:true。 – meurer
我建議你把一些日誌記錄,以確保name.save(flush:true,failOnError:true)被調用。 –