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



我有4个类,父母与其他类别关系,但是孩子没有设置关系,并且validate()说我属性不能无效,但我确实设置了那!

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
  }
}

我的动态服务确实:

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

我认为Ingreso类中设置def Almacen getDestino()可能是一个问题 - 您可以尝试删除此方法吗?无论如何,您都不必手动创建一个Getter,Gorm应该弄清楚它应该返回destino对象。

最新更新