Grails 2.5不保存父类的属性类在子类中的分配
问题描述:
我有4个父类与其他类关联的类,但是孩子没有设置关系,并且validate()告诉我该属性可以'吨是空的,但我真的设置!Grails 2.5不保存父类的属性类在子类中的分配
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具有相同的关系。
答
我觉得设置def Almacen getDestino()
在Ingreso
类可能是一个问题 - 你可以尝试删除这种方法吗? 无论如何你不必手动创建一个getter,GORM应该找出它应该返回destino
对象。
是啊,这就是问题所在。我删除了这个方法,这个关系很好。谢谢!! – Santee
我创建了在其他子类中返回null的方法,但是定义了destino nullable的约束:true这不是必需的。 – Santee