0

这是我的问题的一个例子:

我有一个名为“Person”的实体(名称:String。CityId:Integer)我在“Person”和“City”之间有一个关系,名为“toCity”。我使用在 ObjEntity 定义中添加“CityId”字段(使用 Cayenen 编辑器),因为我需要它用于其他目的(我需要生成方法 person.setCityId() 和 person.setToCity())

但有时(并非总是)当我获取 Person 实体时,我会得到 CityId 字段的 NULL 值(即使已被赋值),而关系“toCity”被正确获取。

所以:

person.getCityId() 返回 NULL 而 person.toCity().getCityId() 被重视

我哪里错了?

4

1 回答 1

0

我总是试图避免将 FK 列映射为对象属性,所以我很难说出它为什么不起作用(通常 Cayenne 不保证这种“冗余”映射会起作用)。但是,这是一种解决方法,可让您在不丢失功能的情况下取消映射该属性:

class Person extends _Person {
   public int getCityId() {
      return getCity() != null ? Cayenne.intPkForObject(getCity()) : -1;
   }
}
于 2017-02-20T18:09:13.453 回答