2012-07-09 6 views
7

Ich benutze greendao für ein android-projekt und wollte wissen, wie ordnungsgemäß löschen und objekt aus der db und aus dem sitzungscache. Derzeit habe folgende ich die von der DB zu löschen:greendao löschen aus db und session

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

jedoch als Methodennamen und Dokumentation Zustand dieser veraltete Objekte in der Session-Cache verlassen kann, wie kann ich die Objekte von dort zu entfernen?

Antwort

8

Um diesen Aufruf zwischengespeicherten Objekte in Ihrem DaoSession Gebrauch klar:

DaoSession.clear(); 

Es werden alle Objekte in Ihrer Sitzung Identität Rahmen löschen.

3

Wie Anatoliy beschrieben, können Sie DaoSession.clear() verwenden. Es werden jedoch alle Objekte aus der Sitzung gelöscht. Wenn Sie das vermeiden möchten, müssen Sie eine reguläre Abfrage ausführen und die Ergebniselemente löschen (zum Beispiel mit deleteInTx).

+6

Kann ich nicht die zwischengespeicherten Objekte einer bestimmten Entität anstelle von allen zwischengespeicherten Objekten löschen? Zum Beispiel etwas wie folgt: ** ChatDao.clear() **? – Leeeeeeelo

Verwandte Themen