2011-12-16 15 views
10

永続的ではないドメインクラス内で変数を設定するにはどうすればよいですか。私はその変数に書き込みと読み込みができるようにしたいが、それをテーブルの一部にしたくない。Grailsドメインクラスに一時変数を作成するにはどうすればよいですか?

レールでこれを行う方法は、変数をattr_accessorに設定することです。これはGrailsでも可能ですか?誰もこれを行う方法を知っていますか?

ありがとうございます!

答えて

20

すべてのトランジェント変数の名前をtransientsリストに追加するだけです(例:

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

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

ここに私が作成した過渡的変数は、データベースに永続化すべきでないプロパティ名のリストを定義します。これは、ヘルパーメソッドであるが永続性関連として混乱する読取り専用アクセサメソッド(「ゲッター」)がある場合に便利です。

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  
} 
関連する問題