我正在使用greendao进行Android项目,并想知道如何从数据库和会话缓存中正确删除和对象。目前我执行以下操作从db中删除:
ChatDao chatDao = daoSession.getChatDao();
chatDao.queryBuilder().buildDelete().executeDeleteWithoutDetachingEntities();
但是,作为方法名称和文档状态,这可能会在会话缓存中留下过时的对象,如何从那里删除对象?
答案 0 :(得分:9)
为了清除DaoSession中的缓存对象,请使用以下调用:
DaoSession.clear();
它将清除会话标识范围内的所有对象。
答案 1 :(得分:5)
如Anatoliy所述,您可以使用DaoSession.clear()。但是,它将清除会话中的所有对象。如果要避免这种情况,则必须执行常规查询并删除结果实体(例如使用deleteInTx)。