对于没有本机自动增量功能的数据库,Grails(GORM)中的默认ID生成策略是什么

时间:2017-01-30 18:14:39

标签: grails groovy gorm h2 id-generation

我正在使用带有oracle的grails 2.4。 现在,如果我想在数据库表中创建一行,我只需在grails中创建一个域对象并调用save()方法。我目前没有将任何id传递给该对象。

new State("MN", "Minnesota").save();

这将创建一行并自动将id设置为数据库中的id列,因为我已在域对象的映射器中指定了id列

mapping {
    id column 'state_id'
}

根据Grails Documentation grails默认使用本机(数据库内置)id生成器。

我的问题是,如果我将数据库切换到h2而不是oracle(对于不同的环境),grails将如何管理数据库的id列?

当我使用Bootstrap.groovy创建一些默认数据时,我收到一条错误,说“STATE_ID”(对于h2数据库)不允许“NULL”。它适用于oracle。

有没有办法告诉grails只有在没有数据库使用的默认生成器时才使用某些特定的生成器?

0 个答案:

没有答案