(快速參考)

暫存

目的

定義不應儲存至資料庫的屬性名稱清單。如果您有只讀存取方法(「取得器」),但這些方法是輔助方法,卻被誤認為與儲存相關,則這時這項功能通常會很有用。

範例

class Author {
   String name
   String getUpperCaseName() { name.toUpperCase() }

   static transients = ['upperCaseName']
}

在此,我們有一個存取器,它會取得 name 並將其轉換成大寫。儲存此衍生值沒有意義,因此我們將其標記為暫存,並將其 JavaBean 屬性名稱新增至 transients 清單。

從 Grails 2.0 開始,如果只有一個取得器或只有一個設定器方法,您不需要在暫存清單中宣告方法的屬性名稱。只有形成屬性但不需要儲存的類型化欄位和取得/設定配對才需要放入暫存清單。