是否可以在Grails的Bootstrap.groovy(或任何地方)中明确设置域对象的标识?在Bootstrap.groovy中设置Grails域标识
我已经试过如下:
new Foo(id: 1234, name: "My Foo").save()
和:
def foo = new Foo()
foo.id = 1234
foo.name = "My Foo"
foo.save()
但在这两种情况下,当我打印出来的Foo.list()
在运行时的结果,我看到我的目标一直是给定一个id,或者序列中下一个id是什么。
编辑: 这是在Grails 1.0.3中,当我在'dev'中使用内置的HSQL数据库运行我的应用程序时。
编辑: chanwit已经提供one good solution below。但是,我实际上正在寻找一种方法来设置id,而不必更改我的域的id生成方法。这主要是为了测试:我希望能够在我的测试引导程序或setUp()
中将某些事物设置为已知的id值,但仍然能够使用auto_increment或生产中的序列。