2015-02-06 78 views
0

編輯:根據我的答案下面,這似乎是固定的「grails乾淨」。你無奈地感到頭痛,並且有時忽略了明顯的表情。Grails新的域對象與財產地圖沒有設置屬性

一段時間以來,我們已經有域對象的結構如下:

abstract class Company { 

String name 
... 
} 

和多子女類似於以下都具有不同的「所有者」的對象。每個具體類都有它自己的DB表。

class CompanyChild extends Company { 
static belongsTo = [owner:SomeDomain] 
... 
} 

我加入另一個屬性爲各種原因的抽象父類,因此父現在看起來更像以下(CompanyType是一個枚舉):

abstract class Company { 

String name 
CompanyType companyType 
... 
} 

這一切似乎很簡單。現在,在公司服務,冥冥之中我這樣做:

log.debug("Saving new company type=$companyType") 
def company= new Company(name: 'Acme', companyType: companyType, <other properties here>) 
log.debug("company object has type=${company.companyType}") 

日誌顯示...

CompanyService Saving new company type=NONPROFIT 
CompanyService company object has type=null 

到底是什麼在這裏發生了什麼?它真的好像$ {company.companyType}不應該爲null。

如果我添加 company.companyType = companyType 對象創建後,它的工作原理,但有一些我不明白。

編輯:Grails的版本是2.3.11

回答

2

有時候你如此關注,你不退一步問題和事情...也許我需要做一個完整的「Grails的清潔」 ......

清潔和重新編譯似乎是我的答案。

相關問題