Grails 将具有预定义值的域类映射到表

Grails 将具有预定义值的域类映射到表,grails,groovy,gorm,Grails,Groovy,Gorm,是否可以创建将映射到具有预定义值的db表的域类,例如: def init = { servletContext -> if (MyDomain.count() == 0) { new MyDomain(id: 1, value: 'test1').save(failOnError: true) new MyDomain(id: 2, value: 'test2').save(failOnError: true) new MyDomai

是否可以创建将映射到具有预定义值的db表的域类,例如:

def init = { servletContext ->
    if (MyDomain.count() == 0) {
        new MyDomain(id: 1, value: 'test1').save(failOnError: true)
        new MyDomain(id: 2, value: 'test2').save(failOnError: true)
        new MyDomain(id: 3, value: 'test3').save(failOnError: true)
    }
}
id值

1测试1

2测试2

3测试3

或者我必须手动编辑生成的*.sql文件才能完成此操作


提前感谢。

在表中拥有一组静态预定义行的一种方法是在
BootStrap.groovy中填充它。例如:

def init = { servletContext ->
    if (MyDomain.count() == 0) {
        new MyDomain(id: 1, value: 'test1').save(failOnError: true)
        new MyDomain(id: 2, value: 'test2').save(failOnError: true)
        new MyDomain(id: 3, value: 'test3').save(failOnError: true)
    }
}

另一种方法是使用migrations插件并创建数据库迁移来填充表。

您的所有值都是预定义的,还是只定义了其中的一部分?即,您是否会在运行时创建新实例?