Можно ли явно установить идентификатор объекта домена в Booilstrap.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()
во время выполнения, я вижу, что моему объекту был присвоен идентификатор 1, или каким бы ни был следующий идентификатор в последовательности.
Изменить:
Это в Grails 1.0.3, и когда я запускаю свое приложение в 'dev' со встроенной базой данных HSQL.
Edit:
Шанвит предоставил одно хорошее решение ниже . Тем не менее, я на самом деле искал способ установить идентификатор без изменения метода генерации идентификатора моего домена. Это в первую очередь для тестирования: я хотел бы иметь возможность устанавливать определенные значения для известных значений идентификаторов либо в моем тестовом загрузчике, либо в setUp()
, но все же иметь возможность использовать auto_increment или последовательность в работе.