Соотнесенные поля имеют значение NULL
Вот пример моей проблемы:
У меня есть сущность с именем "Person" (Имя: String. CityId: Integer). У меня есть связь между "Person" и "City" с именем "toCity". Я использую, чтобы добавить поле "CityId" в определение ObjEntity (с помощью редактора Cayenen), потому что оно мне нужно для других целей (мне нужно сгенерировать оба метода person.setCityId () и person.setToCity ())
Но иногда (не всегда), когда я выбираю сущность Person, я получаю значение NULL для поля CityId (даже если оно оценено), в то время как отношение "toCity" выбирается правильно.
Так:
person.getCityId () возвращает NULL, в то время как person.toCity (). getCityId () оценивается
Где я не прав?
1 ответ
Я всегда пытаюсь избежать сопоставления столбцов FK как свойств объекта, поэтому мне сложно сказать, почему он не работает (обычно Cayenne не дает никаких гарантий, что такое "избыточное" отображение будет работать). Однако здесь есть обходной путь, который позволит вам удалить это свойство без потери функциональности:
class Person extends _Person {
public int getCityId() {
return getCity() != null ? Cayenne.intPkForObject(getCity()) : -1;
}
}