Home » Android » android – greendao delete from db and session

android – greendao delete from db and session

Posted by: admin June 15, 2020 Leave a comment

Questions:

I’m using greendao for a android project and wanted to know how to properly delete and object from the db and from the session cache. Currently I do the following to delete from the db:

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

However as the method name and documentation state this may leave stale objects in the session cache, how can I remove the objects from there too?

How to&Answers:

In order to clear cached objects in your DaoSession use this call:

DaoSession.clear();

It will clear all objects in your session identity scope.

Answer:

As Anatoliy described, you can use DaoSession.clear(). However, it will clear all all objects from the session. If you want to avoid that, you have to execute a regular query and delete the result entities (for example with deleteInTx).