2012-07-09 8 views
7

Estoy usando greendao para un proyecto de Android y quería saber cómo eliminar y objetar correctamente de la base de datos y de la memoria caché de la sesión. Actualmente hago lo siguiente para eliminar de la db:greendao delete from db and session

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

Sin embargo, como el nombre del método y el estado de la documentación esto puede dejar objetos obsoletos en la caché de sesión, cómo puedo quitar los objetos de allí también?

Respuesta

8

el fin de limpiar los objetos en caché en su uso DaoSession esta llamada:

DaoSession.clear(); 

Será todos los obstáculos situados en su ámbito identidad de la sesión.

3

Como se describió en Anatoliy, puede usar DaoSession.clear(). Sin embargo, borrará todos los objetos de la sesión. Si desea evitar eso, debe ejecutar una consulta regular y eliminar las entidades de resultado (por ejemplo, con deleteInTx).

+6

¿No puedo eliminar los objetos en caché de una entidad específica en lugar de TODOS los objetos en caché? Por ejemplo, hacer algo como esto: ** ChatDao.clear() **? – Leeeeeeelo

Cuestiones relacionadas