У меня есть два класса домена
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)
}
Проблема в том, что в базе данных города указана нулевая страна.
Конечно, я упростил пример, на самом деле он сложнее. (К сожалению, некоторые важные детали могут быть потеряны, надеюсь, если вы столкнулись с этой проблемой, вы разделяете причину)
Что я сделал без успеха:
- играя со страной, получая его по id внутри метода сервиса, сохраняйте и сбрасывайте его перед сохранением объекта City
- делает поле itsCountry не обнуляемым. Итак, я получил исключение из базы данных, что это поле не может быть пустым.
Я чувствую, что это должно быть что-то тривиальное. Что может быть причиной этого?