GreenDao从数据库和会话中删除数据

8

我正在使用greendao进行Android项目开发,并想知道如何正确地从数据库和会话缓存中删除对象。 目前,我执行以下操作来从数据库中删除:

ChatDao chatDao = daoSession.getChatDao();
chatDao.queryBuilder().buildDelete().executeDeleteWithoutDetachingEntities();

然而,正如方法名称和文档所述,这可能会在会话缓存中留下过期对象,那么我该如何从那里删除这些对象呢?
2个回答

9
为了清除DaoSession中的缓存对象,请使用以下调用:
DaoSession.clear();

它将清除您会话身份范围内的所有对象。

5
如Anatoliy所描述的,您可以使用DaoSession.clear()。然而,它会清除会话中的所有对象。如果您想避免这种情况,您必须执行常规查询并删除结果实体(例如使用deleteInTx)。

6
我能否不删除所有缓存对象,而是只删除特定实体的缓存对象?例如像这样做:**ChatDao.clear()**? - Leeeeeeelo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接