(快速参考)

瞬态

目的

定义了不应持久到数据库的属性名列表。当你有一些只读访问器方法(“getters”),它们是辅助方法,但被误认为与持久性相关时,这通常很有用。

示例

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

   static transients = ['upperCaseName']
}

此处我们有一个访问器,它采用name并将其转换为大写。持久化此派生值没有意义,因此我们将其标记为瞬态,将 JavaBean 属性名称添加到transients列表。

从 Grails 2.0 开始,如果只有 getter 或只有 setter 方法,则无需在瞬态列表中声明方法的属性名。只有需要保存在瞬态列表中,但 shouldn’t 的成对出现形成属性的已键入字段和 getter/setter。