class Author {
String name
String getUpperCaseName() { name.toUpperCase() }
static transients = ['upperCaseName']
}
暫存
目的
定義不應儲存至資料庫的屬性名稱清單。如果您有只讀存取方法(「取得器」),但這些方法是輔助方法,卻被誤認為與儲存相關,則這時這項功能通常會很有用。
範例
在此,我們有一個存取器,它會取得 name
並將其轉換成大寫。儲存此衍生值沒有意義,因此我們將其標記為暫存,並將其 JavaBean 屬性名稱新增至 transients
清單。
從 Grails 2.0 開始,如果只有一個取得器或只有一個設定器方法,您不需要在暫存清單中宣告方法的屬性名稱。只有形成屬性但不需要儲存的類型化欄位和取得/設定配對才需要放入暫存清單。 |