Grails 2.5不保存子类中父类属性类的赋值

时间:2017-09-23 15:36:51

标签: grails

我有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具有相同的关系。

1 个答案:

答案 0 :(得分:1)

我认为在def Almacen getDestino()课程中设置Ingreso可能会有问题 - 您可以尝试删除此方法吗? 无论如何你都不必手动创建一个getter,GORM应该知道它应该返回destino对象。