(快速參考)

id

目的

自訂產生網域類別識別碼的方式

範例

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

說明

用法:id(map)

引數

  • generator(選用) - 要使用的產生器名稱。可以是 incrementidentitysequenceseqhilouuiduuid2assignedselectforeignsequence-identityenhanced-sequenceenhanced-table。請參閱 Hibernate 參考文件 以取得更多資訊。

hilo 產生器已在 Hibernate 5 中移除。請參閱 Hibernate 5 遷移指南
  • 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'
}

請參閱使用者指南中 自訂資料庫識別碼 章節以取得更多資訊。