(Quick Reference)
id
Purpose
Customizes the way to identifier for a domain class is generated
Examples
class Book {
static mapping = {
id generator:'hilo', params:[table:'hi_value',column:'next_value',max_lo:100]
}
}
Description
Usage:
id(map)
Arguments:
generator
(optional) - The name of the generator to use. Can be increment
, identity
, sequence
, hilo
, seqhilo
, uuid
, guid
, native
, assigned
, select
, foreign
or sequence-identity
. See Hibernate reference documentation for more information.
composite
(optional) - Takes a list of property names to use that form the composite identifier
name
(optional) - The property name to use as the identifier
params
(optional) - Any parameters to pass to the defined identity generator
column
(optional) - The column name to map the identifier to. The remaining column definition properties are also available.
By default GORM uses the native strategy to generate a database identifier for each entity. You can alter this with the
id
methods
generator
argument:
static mapping = {
id generator: 'hilo',
params: [table: 'hi_value', column: 'next_value', max_lo: 100]
}
You can also use the same method to define a composite identifier:
static mapping = {
id composite:['title', 'author']
}
Or change the name of the property that defines the identifier:
static mapping = {
id name:'title'
}
You can also alter the column definition:
static mapping = {
id column:'book_id', type:'integer'
}
See the section on
Custom Database Identity in the user guide for more information.