我有两个域类,A和B。
B级属于A级。我希望当创建A对象时,也会自动创建一个B对象并将其添加到相关的db表中(带有A对象的id值)。
可能吗?我该怎么做?
我已经尝试执行以下操作(在A Controller 中):
def b = new B();
b.a = aInstance;
if(!b.save(flush: true)){
flash.message = "error"
return
}
但是
b.save()
总是失败...编辑:
似乎问题是必须填写某些字段。 B类如下:
class B {
int field1;
int field2;
String field3;
static belongsTo = [anstances:A]
static constraints = {
}
}
为什么需要
field1
和field2
字段?编辑2:
我已经将int字段的类型更改为String。现在它们不是必需的,但是save()返回null,我看到“错误”标签
最佳答案
根据您的编辑,保存问题是因为您尚未对属性指定约束,并且字段可为空:默认情况下为false。从documentation:
nullable: Allows a property to be set to null - defaults to false.
关于database - grails:从 Controller 在数据库中创建条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19708419/