2014-11-17 31 views
0

我的代碼看起來像Grails:是否屬於爲後面引用創建一個新列?

class Person { 
    Nose nose 
} 

class Nose { 
    static belongsTo = [person:Person] 
} 

據說這是爲了創建鼻子上的「人」表的外鍵列,也爲一人回參考列在「鼻子」表吧?

沒有對我的「鼻子」表背面的基準產生,現在,我想知道如果這是正常的列...

http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html (好像這是什麼文檔說,但我想我解釋錯了)

編輯: 我編輯的代碼片段,因爲我下來寫了錯誤的東西(還沒有今天的咖啡)

+0

'belongsTo [nose:Nose]'是一個錯字(它應該是'belongsTo = [nose:Nose]')中缺少的等號?同樣缺少「靜態」? –

+0

我的不好,是我在我的實際代碼中有belongsTo = [nose:Nose]。我現在就解決這個問題。 – user3600512

回答

0

您應該引用該負責人鼻子,不是鼻子本身,像這樣:

class Person { 
    Nose nose 
} 

class Nose { 
    static belongsTo = [person: Person] 
} 

編輯後評論:啊,我明白了。現在我再次閱讀您的問題,您是否期望在Nosenose_id列中有person_idPerson?因爲這在GORM中絕不會發生,至少不會自動執行 - 對於您的模式,只有Person表包含每個文檔的nose_id列。

+0

我兩次寫錯了東西,抱歉。我有靜態belongsTo = [人:人] – user3600512

0

Grails中,我們使用belongsTo級聯的目的,你應該使用

class Nose { 
belongsTo = [person:Person] 
} 

,並在肯定的情況下,belongsTo後引用將被存儲在鼻子具有person_id

+0

對不起abdullah,我在我的問題有多個拼寫錯誤。我有靜態belongsTo = [人:人] – user3600512

+0

你在這種情況下得到不正常的結果,如果是比什麼?至少在 – Abs

+0

沒有錯誤。當我將一個Person的實例賦值給一個鼻子實例並保存時,我沒有得到任何錯誤,但是當我從數據庫中獲取該實例時,person_id被設置爲null。我也看到鼻子表上沒有person_id(後面的參考)列。 – user3600512

相關問題