discriminator
Purpose
Customizes the discriminator value used in table-per-subclass inheritance mapping.Examples
class Content {
…
}
class PodCast extends Content{
…
static mapping = {
discriminator "audio"
}
}
Description
Usage: discriminator(string/map)
Arguments:
column
(optional) - The column name to store the discriminator
value
- The value to use for the discriminator
By default when mapping inheritance Grails uses a single-table model so that all subclasses share the same table. A discriminator column is then used to help Grails tell what type a particular row is. By default the class name is stored as the value of this column. You can use the discriminator
method to customize the value stored:class Content {
…
}
class PodCast extends Content{
…
static mapping = {
discriminator "audio"
}
}
You can also customize the discriminator column name:class Content {
…
}
class PodCast extends Content{
…
static mapping = {
discriminator column:"content_type", value: "audio"
}
}