2012-07-09 17 views
7

私はアンドロイドプロジェクトにgreendaoを使用していますが、dbとセッションキャッシュから正しく削除してオブジェクトを削除する方法を知りたがっています。現在、私は、DBから削除するには次のようにしますgreendaoのdbとセッションからの削除

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

しかし、メソッド名とドキュメント状態として、これはどのように私はあまりにもそこからオブジェクトを削除することができ、セッション・キャッシュ内の古いオブジェクトを残すことができますか?

答えて

8

あなたDaoSessionの使用でこのコールをキャッシュされたオブジェクトをクリアするために:それはあなたのセッションのアイデンティティースコープ内のすべてのオブジェクトをクリアします

DaoSession.clear(); 

3

アナトリーで説明したように、DaoSession.clear()を使用できます。ただし、セッションからすべてのオブジェクトがすべてクリアされます。これを避けるには、通常のクエリを実行し、結果エンティティを削除する必要があります(たとえば、deleteInTxを使用)。

+6

キャッシュされたすべてのオブジェクトではなく、特定のエンティティのキ​​ャッシュされたオブジェクトを削除できませんか?例えば、次のようなことをします:** ChatDao.clear()**? – Leeeeeeelo

関連する問題