database - grails:从 Controller 在数据库中创建条目

标签 database grails

我有两个域类,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 = {
}

}

为什么需要field1field2字段?

编辑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/

相关文章:

从数据库模式设计 C++ 类

mysql - 填写表格或在 mysql 中使用触发器后将 ID 号发送到他们的电子邮件

javascript - TS - 循环遍历对象数组,如果找不到则添加到新数组

database - yesod持久化postgresql复杂记录

grails - 如何从Grails Taglibs生成TLD文件?

grails - 保存在我的域类对象上不起作用。

grails - 如何在Grails中实现错误处理?

authentication - Grails 3-springSecurity重新认证和SessionRegistry

grails - 来自Grails插件的应用程序上下文?

mysql - 改进 MySQL 查询