GreenDao 持久性问题
GreenDao persistance issue
我在我的应用程序中使用 greenDao 来持久化复杂对象。
例如
class A{
id;
name;
List<B> list;
}
class B{
id;
name;
List<C> list;
}
class c{
id;
name;
}
我得到了包含所有 class 字段的 tables(对于所有 classes)。
问题:
我可以看到 table A(对于 class A)的记录,tables B 和 C 是空的(没有记录)。
我是class的持久对象一个赞:
A toSave = //class generated by GSON
aDao = daoService.getADao();
aDao.insert(toSave);
你能帮我解决这个问题吗?
我在文档中也找不到是否允许查询 dao 对象并自动检索 class A 的所有 information/fields 对象?
谢谢!
我找到了解决方案:
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 来持久化复杂对象。
例如
class A{
id;
name;
List<B> list;
}
class B{
id;
name;
List<C> list;
}
class c{
id;
name;
}
我得到了包含所有 class 字段的 tables(对于所有 classes)。
问题: 我可以看到 table A(对于 class A)的记录,tables B 和 C 是空的(没有记录)。
我是class的持久对象一个赞:
A toSave = //class generated by GSON
aDao = daoService.getADao();
aDao.insert(toSave);
你能帮我解决这个问题吗?
我在文档中也找不到是否允许查询 dao 对象并自动检索 class A 的所有 information/fields 对象?
谢谢!
我找到了解决方案:
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 的实体进行更新。
换句话说,你必须单独持久化所有数据。