2012-02-22 8 views
1

を保持したくないゲッターメソッドからデフォルトのインスタンスを返します。明示的に保存されたCustomerConfigを持たない顧客のデフォルト設定を持つデフォルトのCustomerConfigがあります。は、私は2つのドメインオブジェクトを持って

def getConfig() { 
    if (!config) { 
     return new CustomerConfig() //the default settings 
    } else { 
     return config 
    } 
} 

私が午前問題は、私が戻ったとき、変更されたことGORMに表示されるGORMデフォルト設定がデータベースにCustomerConfigのインスタンスを節約するということです。

実際には、顧客のデフォルト設定を制御して、明示的に保存された設定が保存されるまで、顧客の更新を行うことができるようにするため、データベースに保存したくありません。

私はまた、次のように条件ロジックを使用しないようしようとしています:

def config = customer.config?:new CustomerConfig() 

と顧客のドメインオブジェクトでそれをカプセル化します。私は、次のようなパターンがあるようです。何か助言を歓迎するだろう。

おかげで、

カウパー

答えて

1

私見では、それはそれらがGORMによって管理されているように、デフォルトのゲッター/セッターの動作を変更することをお勧めことはありません。

あなたはこの

class Customer { 
    static transients = ['setting'] 

    public CustomerConfig getSetting(){ 
    return getConfig()?:new CustomerConfig() 
} 
+0

おかげ@Saurabhような何かを行うことができます。簡単な回避策。 –

関連する問題