GreenDao持久性问题

时间:2017-02-13 11:09:18

标签: android greendao

我在我的应用中使用greenDao来保留复杂的对象。

例如

class A{
id;
name;
List<B> list;
}

class B{
id;
name;
List<C> list;
}

class c{
id;
name;
}

我得到了包含所有类字段的表(适用于所有类)。

问题: 我可以看到表A的记录(对于A类),表B和C是空的(没有记录)。

我坚持像A类的对象:

A toSave = //class generated by GSON

aDao = daoService.getADao();
aDao.insert(toSave);

你能帮我解决这个问题吗?

另外我在文档中找不到是否允许查询dao对象并自动检索包含所有信息/字段的A类对象?

谢谢!

1 个答案:

答案 0 :(得分:-1)

我找到了解决方案:

GreenDao无法持久保存级联数据 - 如果你说insertOrReplace(tvShow)它将不会保留剧集列表和时刻列表。为了执行该操作,您必须单独保留所有数据。

例如:

TvShowDao.save(tvShows) OR TvShowDao.insertOrUpdate(tvShows);

EpisodesDao.save(episodes) OR EpisodesDao.save(episodes)

MomentDao.save(moments); OR MomentDao.save(moments);

重要的:

Note that save...() will do
  • 没有ID和
  • 的实体的插入内容
  • 将对具有ID设置的实体进行更新。

GreenDao Git Issue

换句话说,您必须单独保留所有数据。