Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将 greendao 用于一个 android 项目,并且想知道如何从数据库和会话缓存中正确删除和对象。目前我执行以下操作从数据库中删除:
ChatDao chatDao = daoSession.getChatDao(); chatDao.queryBuilder().buildDelete().executeDeleteWithoutDetachingEntities();
但是,正如方法名称和文档所述,这可能会在会话缓存中留下陈旧的对象,我怎样才能从那里删除对象呢?
为了清除 DaoSession 中的缓存对象,请使用以下调用:
DaoSession.clear();
它将清除会话身份范围内的所有对象。
正如 Anatoliy 所描述的,您可以使用 DaoSession.clear()。但是,它将清除会话中的所有对象。如果您想避免这种情况,您必须执行常规查询并删除结果实体(例如使用 deleteInTx)。