永続的ではないドメインクラス内で変数を設定するにはどうすればよいですか。私はその変数に書き込みと読み込みができるようにしたいが、それをテーブルの一部にしたくない。Grailsドメインクラスに一時変数を作成するにはどうすればよいですか?
レールでこれを行う方法は、変数をattr_accessor
に設定することです。これはGrailsでも可能ですか?誰もこれを行う方法を知っていますか?
ありがとうございます!
永続的ではないドメインクラス内で変数を設定するにはどうすればよいですか。私はその変数に書き込みと読み込みができるようにしたいが、それをテーブルの一部にしたくない。Grailsドメインクラスに一時変数を作成するにはどうすればよいですか?
レールでこれを行う方法は、変数をattr_accessor
に設定することです。これはGrailsでも可能ですか?誰もこれを行う方法を知っていますか?
ありがとうございます!
すべてのトランジェント変数の名前をtransients
リストに追加するだけです(例:
class Application {
dataType domainFields //define datatypes
static transients = [ 'name']
String getName() {
return 'grails App'
}
}
ここに私が作成した過渡的変数は、データベースに永続化すべきでないプロパティ名のリストを定義します。これは、ヘルパーメソッドであるが永続性関連として混乱する読取り専用アクセサメソッド(「ゲッター」)がある場合に便利です。
例
class Author {
String name
String getUpperCaseName() { name.toUpperCase() }
static transients = ['upperCaseName']
}
クラス - ドメイン内
class MyDomain {
static transients = ['nonPersistent', 'nonPersistent2']
Integer nonPersistent
Integer nonPersistent2
Integer persistent
Integer persistent2
}