greendao从db和session中删除

mar*_*ram 8 android greendao

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

ChatDao chatDao = daoSession.getChatDao();
chatDao.queryBuilder().buildDelete().executeDeleteWithoutDetachingEntities();
Run Code Online (Sandbox Code Playgroud)

但是,作为方法名称和文档状态,这可能会在会话缓存中留下过时的对象,如何从那里删除对象?

Ana*_*liy 9

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

DaoSession.clear();
Run Code Online (Sandbox Code Playgroud)

它将清除会话标识范围中的所有对象.


Mar*_*ger 5

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

  • 我是否可以不删除特定实体的缓存对象而不是所有缓存对象?例如,做这样的事情:**ChatDao.clear()**? (6认同)