class Book {
String title
static mapping = {
title type: "text"
}
}
類型
目的
設定特定屬性的 Hibernate 類型。
範例
變更為文字類型 (CLOB 或 TEXT,視資料庫方言而定)
具有多個欄位的使用者類型
class Book {
...
MonetaryAmount amount
static mapping = {
amount type: MonetaryUserType, {
column name: "value"
column name: "currency", sqlType: "char", length: 3
}
}
}
說明
用法:association_name(type:string/class)
Hibernate 會嘗試根據正在使用的 Dialect
類別中的設定,從欄位類型自動選取適當的資料庫類型。但必要時,您可以覆寫預設值。例如,String
值預設會對應到 varchar(255)
欄位。若要儲存較大的 String
值,您可以改用 text
類型
static mapping = {
title type: "text"
}
Hibernate 也有自訂 UserType
實作的概念。在這種情況下,您指定 UserType
類別。如果 UserType
對應到多個欄位,您可能需要為每個欄位指定對應。
static mapping = {
amount type: MonetaryUserType, {
column name: "value"
column name: "currency", sqlType: "char", length: 3
}
}