2015-02-06 2 views
0

EDIT: На мой ответ ниже это кажется фиксированным «grails clean». Вы разочаровываете голову, и иногда вы замечаете очевидное.Новый объект домена Grails с категорией свойств, не задающей свойство

В течение некоторого времени мы имели следующую структуру объектов предметной области:

abstract class Company { 

String name 
... 
} 

и несколько детей, похожие на следующем все с разными «владельцем» объектами. У каждого конкретного класса есть своя таблица в БД.

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} не должен быть нулевым.

Если я добавлю company.companyType = companyType после того, как объект создан, он работает, но есть кое-что, что я не понимаю.

Edit: Grails версия 2.3.11

ответ

2

Иногда вы так много внимания на проблеме, вы не шаг назад и вещи ... Может быть, мне нужно сделать полный «Grails чистый» ...

Чисто и перекомпилировать, кажется, был моим ответом.

Смежные вопросы