【发布时间】:2014-01-23 13:42:28
【问题描述】:
我的 addTo* 方法不稳定,我有一个记录,经常需要在一个实例中生成关系信息。问题是当我在短时间内放置多个插入时,它们不再保留在数据库中,而不是在它们返回之后,它们只是被丢弃的时间。
我的简单类是 'Occurrence' 和 'Monitoring' ,每当我打电话时,我都必须注册它,它发生在连续 2 条记录之后,第 3 条不再保留在数据库中,我丢失了记录。
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)。
-
解决了问题!谢谢!我意识到在此更改之前,它是第一次实例化并且在第三个实例之后没有持久化。我想知道为什么会这样?
-
很高兴它解决了问题(添加为答案,以便您接受并投票)。
标签: grails grails-orm