我是一個不穩定的我addTo *方法,我有一個記錄,不斷有必要在一個實例中的關係信息。問題是,當我在短時間內放置多個插入時,它們不再持久存儲在數據庫中,而是在它們返回之後,它們只是被放棄時間。Grails的行爲方法AddTo *
我的簡單課程是'發生'和'監測',每當我打電話時我必須註冊它,它發生在連續兩次記錄上,第三次不再存在於數據庫中,我失去了記錄。
Class Occurrence implements Serializable{
...
hasMany = [accompaniments: Monitoring]
...
}
Class Monitoring implements Serializable{
...
belongsTo = [occurrence : Occurrence]
...
}
有控制器看起來是這樣的:
def regMonitoring(Long id){
def chamadoInstance = Occurrence.get(id)
if (!chamadoInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'Occurrence .label', default: 'Occurrence '), id])
return
}
chamadoInstance.status = StatusChamado.findByCodigo("MOV")
if (!chamadoInstance.save(flush: true)) {
render(view: "editMonitoring", model: [chamadoInstance: chamadoInstance])
return
}
def mov = chamadoService.regMonitoring("") //returns an instance of Customer with preset output values .
chamadoInstance.addToAccompaniments (mov)
redirect(action: "showChamado", id: chamadoInstance.id)
}
addToAccompaniments後添加chamadoInstance.save(flush:true)。 –
解決了問題!謝謝!我意識到,在這個變化之前,它第一次被實例化並且在第三個實例沒有被持久化之後。我想知道爲什麼發生這種情況 – isilva
很高興它解決了這個問題(作爲答案添加,所以你可以接受和upvote它)。 –