我有两个域类
class Country {
... // some fields, including other domains
}
class City {
... // some fields, including other domains
Country itsCountry
}
我的一种服务方法是:
City createCity(String name, Country country) {
// country is existing and loaded in the controller's layer and passed here
City city = new City()
city.itsCountry = country // it is not persisted
city.save('flush':true)
}
问题是在数据库中城市有空国家。 当然,我简化了这个例子,真的是它更复杂。 (不幸的是,一些重要的细节可能会丢失,我希望如果你遇到这个问题,你可以分享原因)
我做的没有成功:
我觉得这一定是件微不足道的事情。这可能是什么原因?
答案 0 :(得分:0)
如果是国家表的新记录,则首先为国家创建新对象并在城市对象中分配。
例如,
Country country = new Country()//for new record
country.name=params?.countryName
City city=new City()
city.itsCountry = country
city.save('flush':true)
如果您已经在表格中有国家/地区记录,则使用get方法获取对象并将其分配给城市。
例如,
Country country=Country.get(Long.valueOf(params?.countryId))
city.itsCountry = country
city.save('flush':true)
我希望它会对你有所帮助。如果有任何疑问,请告诉我。