2011-12-16 23 views
10

Bir etki alanı sınıfı içinde, kalıcı olmayan bir değişkeni nasıl kurarım. Bu değişkene yazabilmeyi ve okuyabileyim, ama masanın bir parçası olmasını istemiyorum.Grails Domain Class'ta nasıl geçici bir değişken oluşturabilirim?

Bunu raylarda yapmanın yolu attr_accessor ile bir değişken oluşturmaktır. Bu Grails'de mümkün mü? Bunu yapmayı bilen var mı?

Teşekkürler!

cevap

20

Sadece tüm geçici değişkenlerin isimlerini transients listesine ekleyin, örn.

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

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

İşte ben yarattık geçici değişken veritabanına kalıcı olmamalı özellik adlarının bir listesini tanımlar. Bu, genellikle, yardımcı yöntemler olan ancak kalıcılık ile ilgili kafa karışıklığı olan, salt okunur erişimci yöntemlerine ("getters") sahipseniz kullanışlıdır.

örnekleri

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

sınıf-etki alanında

class MyDomain { 

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

    Integer nonPersistent 
    Integer nonPersistent2 

    Integer persistent 
    Integer persistent2  
}