8

我正在将 greendao 用于一个 android 项目,并且想知道如何从数据库和会话缓存中正确删除和对象。目前我执行以下操作从数据库中删除:

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

但是,正如方法名称和文档所述,这可能会在会话缓存中留下陈旧的对象,我怎样才能从那里删除对象呢?

4

2 回答 2

9

为了清除 DaoSession 中的缓存对象,请使用以下调用:

DaoSession.clear();

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

于 2012-07-25T05:45:05.310 回答
5

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

于 2012-08-02T12:13:53.163 回答