2017-02-13 127 views
0

我在我的应用程序中使用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

我已经找到了解决办法:

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

换句话说,你必须单独坚持所有数据。