8

Android プロジェクトに greendao を使用していますが、db とセッション キャッシュから適切にオブジェクトを削除してオブジェクトを削除する方法を知りたいと思っていました。現在、データベースから削除するために次のことを行っています。

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

ただし、メソッド名とドキュメントに記載されているように、セッション キャッシュに古いオブジェクトが残る可能性があるため、そこからオブジェクトを削除するにはどうすればよいですか?

4

2 に答える 2

9

DaoSession でキャッシュされたオブジェクトをクリアするには、次の呼び出しを使用します。

DaoSession.clear();

セッション ID スコープ内のすべてのオブジェクトがクリアされます。

于 2012-07-25T05:45:05.310 に答える
5

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

于 2012-08-02T12:13:53.163 に答える