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