Java-DAO: Как сохранить значение по умолчанию в табеле? - PullRequest
0 голосов
/ 07 января 2010

У меня есть эти 2 таблицы:

T1: County- Name - FK_Country
T2: Country - Name 

И когда я хочу сохранить округ, я хочу выбрать страну по умолчанию, но я получаю эту ошибку: объект является несохраненным временным экземпляром - сохраните временный экземпляр до объединения: local.Country; вложенным исключением является org.hibernate.TransientObjectException: объект является несохраненным временным экземпляром - сохраните временный экземпляр перед объединением: local.County

Java-код

Country country = new Country("USA");

localizationService.saveCountry(country);
localizationService.saveCounty(getForm().getModelObject());

1 Ответ

0 голосов
/ 07 января 2010

Я вижу две проблемы здесь:

  1. Вы создаете новый Country для каждого сохранения.
  2. Вы не связываете объект Country с County перед сохранением.

Я бы попытался загрузить страну из базы данных. То есть вместо того, чтобы делать:

Country country = new Country("USA");

Сделайте что-то вроде:

Country country = localizationService.findByName("USA");
// My assumption on your model here
County county = getForm().getModelObject();
county.setCountry(country);
localizationService.saveCounty(county);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...