実行時にのみ存在するいくつかのものを保存したいドメインオブジェクトがあります。ドキュメントを見て、キーワードを見つけましたtransients。これは一見、私が探していたものでした。これが私のドメインオブジェクトの外観です...
class Contact {
def Seeker
def beforeInsert()
{
initiatedDate = new Date()
}
Date initiatedDate
Date acceptedDate
static transients = ['pal']
Seeker pal
}
whereSeekerは、ドメイン オブジェクトではなく、一部のプロパティのプレースホルダーである groovy クラスです。
palこれまでのところすべて問題なく、私の Contact テーブルには期待どおりのフィールドがありません。私のContactControllerI では、一連の連絡先をクエリしc、次に彼らのSeeker仲間 (どのように保留されたかの詳細) を検索し、palフィールドを新しいオブジェクトに設定します。
c.pal = new Seeker();
c.pal.name = otherObject.name
render c as JSON
返された JSON に pal オブジェクトがないことを除いて、これはすべて正常に機能しているようです。
これはトランジェントの有効な使用法ですか? ドキュメントには、関数ベースのゲッターとセッターに便利であると記載されていますが、私の場合は実際のオブジェクトが必要です。オブジェクトに getPal() および setPal() メソッドを作成する必要がありますか?
ありがとう