2013-10-31 115 views
0

在数据库条目我有两个域类,A和B. 乙类属于一类。我希望在创建A对象时自动创建B对象,并将其添加到相关的数据库表(使用A对象的id值)。 这可能吗?我该怎么做?的grails:创建一个从控制器

我试着做以下内容(控制器):

def b = new B(); 

    b.a = aInstance; 

    if(!b.save(flush: true)){ 
     flash.message = "error" 
     return 
    } 

b.save()总是失败......

编辑: 看来,问题是,有些领域是必需的。 B类为:

为什么领域 field1field2需要
class B { 

int field1; 
int field2; 
String field3; 

static belongsTo = [anstances:A] 
static constraints = { 
} 

}

EDIT2: 我已经改变了int类型的字段为String。现在,他们不是必需的,但保存()返回null,我看到了“错误”的标签

+0

你是什么意思“总是失败”是什么意思?有验证错误,堆栈跟踪,什么? – Gregg

+0

我注意到问题在于验证......我编辑问题 – FrancescoDS

+1

使用IDE进行调试或执行println(b.errors)并确保您没有任何其他验证问题。 – Gregg

回答

1

根据您的编辑,保存的问题是因为你还没有规定约束你的属性和字段可以为空:假的默认。从documentation

可空:允许属性被设置为null - 默认为false

+0

刚刚编辑我的问题。这不是我想的问题 – FrancescoDS

+0

问题是数据库表在重新加载应用程序后没有更新 – FrancescoDS