我有两个域对象:
Customer
CustomerConfig
客户与CustomerConfig有1-1关联。对于没有明确保存的CustomerConfig的客户,默认的CustomerConfig具有默认设置,例如。
def getConfig() {
if (!config) {
return new CustomerConfig() //the default settings
} else {
return config
}
}
我遇到的问题是,当我返回默认设置时,GORM将CustomerConfig实例保存到数据库,因为GORM看起来它已经更改。
实际上我不想将其保存到数据库中,因为我希望能够控制客户的默认设置并为客户进行更新,直到他们有明确保存的配置。
我也在尝试避免使用条件逻辑,如下所示:
def config = customer.config?:new CustomerConfig()
并将其封装在Customer域对象中。似乎我应该遵循不同的模式。欢迎任何建议。
谢谢,
考珀
答案 0 :(得分:1)
你可以做这样的事情
class Customer {
static transients = ['setting']
public CustomerConfig getSetting(){
return getConfig()?:new CustomerConfig()
}