我有4个类,其中父与其他类关联,但是child没有设置关系,而validate()告诉我该属性不能为null但是我确实设置了它!
class Lote {
static hasMany = [movimientos:Movimiento]
}
class Almacen {
static hasMany = [entradas:Movimiento]
}
class Movimiento {
static belongsTo = [lote:Lote, destino:Almacen]
}
class Ingreso extends Movimiento{
def Almacen getDestino(){
return this.destino
}
def Almacen getOrigen(){
return null
}
}
我的MovimientoService确实:
def registrarIngreso(def loteId, def params){
Movimiento ingreso = new Ingreso(params)
ingreso.lote = Lote.get(loteId)
ingreso.destino = Almacen.get(params.almacenId)
if (ingreso.validate()){
ingreso.save flush:true
}
return ingreso
}
我知道,Movimiento需要是一个抽象类。
almace.lote已设置,但almace.destino不会。
为什么呢?我忘记了什么? Lote和Movimiento类与Almacen和Movimiento具有相同的关系。
答案 0 :(得分:1)
我认为在def Almacen getDestino()
课程中设置Ingreso
可能会有问题 - 您可以尝试删除此方法吗?
无论如何你都不必手动创建一个getter,GORM应该知道它应该返回destino
对象。