0

A と B の 2 つのドメイン クラスがあります。B クラスは A クラスに属します。Aオブジェクトが作成されると、Bオブジェクトも自動的に作成され、関連するdbテーブルに追加されます(Aオブジェクトのid値を使用)。出来ますか?どうすればいいですか?

私は(Aコントローラーで)次のことを試しました:

def b = new B();

    b.a = aInstance;

    if(!b.save(flush: true)){
        flash.message = "error"
        return
    }

b.save()でもいつも失敗…

編集:問題は、いくつかのフィールドが必要であることです。クラスBは次のとおりです。

class B {

int field1;
int field2;
String field3;

static belongsTo = [anstances:A]
static constraints = {
}

}

field1フィールドとフィールドfield2が必要なのはなぜですか?

EDIT2: int フィールドのタイプを String に変更しました。今は必要ありませんが、save() は null を返し、「エラー」ラベルが表示されます

4

1 に答える 1

1

あなたの編集に基づいて、保存の問題は、プロパティに制約を指定しておらず、フィールドが nullable: デフォルトで false であるためです。ドキュメントから:

nullable: プロパティを null に設定できるようにします -デフォルトは falseです。

于 2013-10-31T14:24:16.857 に答える