2011-12-16 68 views
10

如何在不持久的域类中设置变量。我希望能够写入和读取该变量,但我不希望它成为表格的一部分。如何在Grails域类中创建瞬态变量?

在rails中这样做的方法是通过设置一个变量attr_accessor。这在Grails中可能吗?有谁知道如何做到这一点?

谢谢!

回答

20

只需将所有瞬态变量的名称添加到transients列表中,例如,域讲座

class Application { 
    dataType domainFields //define datatypes 
    static transients = [ 'name'] 

    String getName() { 
     return 'grails App' 
    } 
} 
0

在这里,我已经创建了短暂的变量定义不应该被保存到数据库属性名称的列表。如果你有只读方法(“getters”),它们是辅助方法但是被弄糊涂为持久性相关,这通常很有用。

实例

class Author { 
    String name 
    String getUpperCaseName() { name.toUpperCase() } 
    static transients = ['upperCaseName'] 
} 
0

class MyDomain { 

    static transients = ['nonPersistent', 'nonPersistent2'] 

    Integer nonPersistent 
    Integer nonPersistent2 

    Integer persistent 
    Integer persistent2  
}