(快速参考)

ID

目的

自定义针对域类的标识符的生成方式

示例

class Book {
    String id
    String title
    static mapping = {
        id generator: 'uuid'
    }
}

说明

用法:id(map)

参数

  • generator(可选)- 要使用的生成器名称。可以是 incrementidentitysequenceseqhilouuiduuid2assignedselectforeignsequence-identityenhanced-sequenceenhanced-table。请参阅 Hibernate 参考文档 了解更多信息。

Hibernate 5 中已移除了 hilo 生成器。请参阅 Hibernate 5 Migration Guide
  • composite(可选)- 获取构成复合标识符的属性名称列表

  • name(可选)- 作为标识符使用的属性名称

  • params(可选)- 传递给已定义标识生成器的任何参数

  • column(可选)- 将标识符映射到的列名称。其他 column 定义属性也可使用。

默认情况下,GORM 使用本机策略为每个实体生成数据库标识符(通常是自增列或序列)。可以通过 id 方法的 generator 参数更改此行为。

static mapping = {
    id generator: 'uuid'
}

还可以使用该方法来定义复合标识符

static mapping = {
    id composite: ['title', 'author']
}

或更改定义标识符的属性名

static mapping = {
    id name: 'title'
}

还可以更改列定义

static mapping = {
    id column: 'book_id', type: 'integer'
}

请参阅用户指南中有关 自定义数据库标识 的章节了解更多信息。