2013-10-31 58 views
0

在數據庫條目我有兩個域類,A和B. 乙類屬於一類。我希望在創建A對象時自動創建B對象,並將其添加到相關的數據庫表(使用A對象的id值)。 這可能嗎?我該怎麼做?的grails:創建一個從控制器

我試着做以下內容(控制器):

def b = new B(); 

    b.a = aInstance; 

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

b.save()總是失敗......

編輯: 看來,問題是,有些領域是必需的。 B類爲:

爲什麼領域 field1field2需要
class B { 

int field1; 
int field2; 
String field3; 

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

}

EDIT2: 我已經改變了int類型的字段爲String。現在,他們不是必需的,但保存()返回null,我看到了「錯誤」的標籤

+0

你是什麼意思「總是失敗」是什麼意思?有驗證錯誤,堆棧跟蹤,什麼? – Gregg

+0

我注意到問題在於驗證......我編輯問題 – FrancescoDS

+1

使用IDE進行調試或執行println(b.errors)並確保您沒有任何其他驗證問題。 – Gregg

回答

1

根據您的編輯,保存的問題是因爲你還沒有規定約束你的屬性和字段可以爲空:假的默認。從documentation

可空:允許屬性被設置爲null - 默認爲false

+0

剛剛編輯我的問題。這不是我想的問題 – FrancescoDS

+0

問題是數據庫表在重新加載應用程序後沒有更新 – FrancescoDS