2012-07-09 8 views
7

Sto usando greendao per un progetto Android e volevo sapere come eliminare correttamente e oggetto dal db e dalla cache di sessione. Attualmente faccio il seguente per eliminare dal db:greendao elimina da db e session

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

Tuttavia, come il nome del metodo e lo stato della documentazione questa può lasciare gli oggetti non aggiornati nella cache di sessione, come posso rimuovere gli oggetti da lì?

risposta

8

al fine di cancellare oggetti memorizzati nella cache nel vostro uso DaoSession questa chiamata:

DaoSession.clear(); 

sarà chiaro tutti gli oggetti nel vostro ambito sessione identità.

3

Come descritto in Anatoliy, è possibile utilizzare DaoSession.clear(). Tuttavia, cancellerà tutti gli oggetti dalla sessione. Se si desidera evitare ciò, è necessario eseguire una query regolare ed eliminare le entità risultato (ad esempio con deleteInTx).

+6

Impossibile eliminare gli oggetti memorizzati nella cache di un'entità specifica anziché TUTTI gli oggetti memorizzati nella cache? Ad esempio, fare qualcosa del genere: ** ChatDao.clear() **? – Leeeeeeelo