(Quick Reference)
type
Purpose
Configures the Hibernate type for a particular property.
Examples
Changing to a text type (CLOB or TEXT depending on database dialect).
class Book {
String title
static mapping = {
title type:"text"
}
}
User types with multiple columns:
class Book {
…
MonetaryAmount amount static mapping = {
amount type: MonetaryUserType, {
column name: "value"
column name: "currency", sqlType: "char", length: 3
}
}
}
Description
Usage:
association_name(type:string/class)
Hibernate will attempt to automatically select the appropriate type based from a properties
java.lang.Class
. However, this choice is not always appropriate. For example
String
values are by default mapped to
varchar(255)
columns. If you want to store larger
String
values you can use a
text
type instead:
static mapping = {
title type:"text"
}
Hibernate also has the concept of custom
UserType
implementations. In this case you need to specify the
UserType
class. If the
UserType
maps to multiple columns you may need to specify mapping for each column:
static mapping = {
amount type: MonetaryUserType, {
column name: "value"
column name: "currency", sqlType: "char", length: 3
}
}