Grails2.5不在子类中保存父属性类的赋值
我有4个类,其中父类与其他类有关系,但子类不设置关系,验证告诉我属性不能为null,但我确实设置了它Grails2.5不在子类中保存父属性类的赋值,grails,Grails,我有4个类,其中父类与其他类有关系,但子类不设置关系,验证告诉我属性不能为null,但我确实设置了它 class Lote { static hasMany = [movimientos:Movimiento] } class Almacen { static hasMany = [entradas:Movimiento] } class Movimiento { static belongsTo = [lote:Lote, destino:Almacen] } cla
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
}
}
我的MoviMinentoService提供:
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
}
我知道Movimento需要是一个抽象类
almace.lote已设置,但almace.destino未设置
为什么??我忘了什么?Lote和MOVIMINTO类与Almacen和MOVIMINTO具有相同的关系。我认为在Ingreo类中设置def Almacen getDestino可能会有问题-可以尝试删除此方法吗?
您不必手动创建getter,GORM应该知道它应该返回destino对象 是的,苏里塔,这就是问题所在。我删除了该方法,关系运行良好。谢谢我在其他子类中创建了returnnull方法,但定义了destino-nullable约束:true,这不是必需的。