2011-12-16 70 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  
}