这是我的问题的一个例子:
我有一个名为“Person”的实体(Name:String.CityId:Integer) 我有“人”和“城市”之间的关系,名为“toCity”。 我用来在ObjEntity定义中添加“CityId”字段(使用Cayenen编辑器)因为我需要它用于其他目的(我需要生成方法person.setCityId()和person.setToCity())
但有时(并非总是)当我获取Person实体时,我得到CityId字段的NULL值(即使被赋值),而正确获取“toCity”关系。
所以:
person.getCityId()返回NULL 而 person.toCity()。getCityId()被重视
我哪里错了?
答案 0 :(得分:0)
我总是试图避免将FK列映射为对象属性,因此我很难说出它为什么不起作用(通常Cayenne不保证这样的"冗余"映射将起作用)。但是,这是一种解决方法,允许您在不丢失功能的情况下取消映射该属性:
class Person extends _Person {
public int getCityId() {
return getCity() != null ? Cayenne.intPkForObject(getCity()) : -1;
}
}