2012-07-09 35 views
7

Tôi đang sử dụng greendao cho một dự án android và muốn biết cách xóa và đối tượng đúng cách khỏi db và từ bộ nhớ cache phiên. Hiện nay tôi làm như sau để xóa từ db:greendao xóa khỏi db và phiên

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

Tuy nhiên như tên phương thức và tình trạng tài liệu này có thể để lại đối tượng cũ trong bộ nhớ cache session, làm thế nào tôi có thể loại bỏ các đối tượng từ đó quá?

Trả lời

8

Để xóa đối tượng được lưu trữ trong sử dụng DaoSession bạn gọi này:

DaoSession.clear(); 

Nó sẽ xóa tất cả các đối tượng trong phạm vi sắc phiên của bạn.

3

Như Anatoliy mô tả, bạn có thể sử dụng DaoSession.clear(). Tuy nhiên, nó sẽ xóa tất cả các đối tượng trong phiên. Nếu bạn muốn tránh điều đó, bạn phải thực hiện truy vấn thông thường và xóa các thực thể kết quả (ví dụ với deleteInTx).

+6

Tôi không thể xóa các đối tượng được lưu trong bộ nhớ cache của một thực thể cụ thể thay vì TẤT CẢ các đối tượng được lưu trong bộ nhớ cache? Ví dụ làm một cái gì đó như thế này: ** ChatDao.clear() **? – Leeeeeeelo