GreenDao Childrens'父对象在插入()

时间:2017-03-28 04:46:46

标签: android database sqlite session greendao

我正在使用GreenDao,我在RaceTrack和LapTime之间有1:N关系,RaceTrack可以有很多LapTimes,LapTime当然只能有1个RaceTrack。

我列出了LinearLayout中的前5个LapTimes,所有这些LapTime对象都引用了RaceTrack成员字段的唯一实例,该成员字段在第一次调用lapTime.getRaceTrack()时设置,并且每个RaceTrack都已正确设置正如预期的第一次通话(为清晰起见,请参阅下面的示例)。

当我使用raceTrackDao.insert(raceTrack)将新的RaceTrack对象添加到数据库时,问题就在于此。在插入这个新的RaceTrack对象时,没有任何解释,新创建的LapTimes的所有成员字段都引用刚刚插入的RaceTrack的新实例。

例如,新RaceTrack对象的LapTimes列表及其RaceTrack成员字段id PRE-INSERT:

  1. RaceTrack-5432(创建此会话)
  2. RaceTrack-5430(创建此会话)
  3. RaceTrack-5429(在本次会议之前存在于数据库中)
  4. RaceTrack-5428(在本次会议之前存在于数据库中)
  5. 现在,LapTimes列表及其RaceTrack成员字段id为RaceTrack对象的POST-INSERT:

    1. RaceTrack-5433(在插入(raceTrack)后创建,新的RaceTrack对象为5433)
    2. RaceTrack-5433(创建此会话)
    3. RaceTrack-5433(创建此会话)
    4. RaceTrack-5429(在本次会议之前存在于数据库中)
    5. RaceTrack-5428(在本次会议之前存在于数据库中)
    6. 将先前发起的LapTime成员字段更改为等于新插入的RaceTrack实例的内容是什么?

      非常感谢任何入门帮助。

0 个答案:

没有答案