好的是这个场景,我有一个像这样的复杂对象(见下文),并使用Retrofit下载和解析。我使用GreenDao生成了Java类(POJO),并且在应用程序运行时一切正常:改装响应体是我想要的,我将此response.body()
插入到数据库中,如果我在其他活动中查询此对象被重新获取由GreenDao设置的所有属性(是缓存的对象)。
问题是,当我清除所有缓存或关闭应用程序并再次打开它时,嵌套对象列表为null
(参见下面的第二个json)。
我该如何解决这个问题?在此先感谢
Json从服务器发送
{
"id" : 91
"timestamp": 1487786669,
"groups": [
{
"id": "G1",
"name": "Some name",
"nextPaymentDate": "2017-06-01",
"totalAmount": 1000.00,
"overdraft": false,
"apoyaT": true
},
{
"id": "G2",
"name": "Other name",
"nextPaymentDate": "2017-06-02",
"totalAmount": 1000.00,
"overdraft": true,
"apoyaT": false
}
]
}
清除缓存时的Json / JavaObject
{
"id": 91
"timestamp": 1487786669,
"groups": null
}
我的GreenDao发电机
/* List Entity ***************************/
Entity list = schema.addEntity("List_p");
list.addIntProperty("id").primaryKey();
list.addLongProperty("timestamp");
/* Group Entity **************************/
Entity group = schema.addEntity("Group");
group.addStringProperty("id").primaryKey();
group.addStringProperty("name");
group.addStringProperty("nextPaymentDate");
group.addDoubleProperty("totalAmount");
group.addBooleanProperty("overdraft");
group.addBooleanProperty("apoyaT");
Property listId = group.addLongProperty("listId").getProperty();
list.addToMany(group, listId, "groups");