我有一個使用ActiveAndroid ORM
的應用程序,我需要保存與內部列表和對象模型的列表,看起來像這樣:ActiveAndroid優化相表
public class MyModel extends Model{
@Expose
@SerializedName(Columns.COLUMN_CREATED_AT)
@Column(name=Columns.COLUMN_CREATED_AT)
private Date createdAt;
.... and other fields
@Expose
@SerializedName(Columns.User)
public User users;
.... another objects
}
這樣,可以節省下一List<MyModel>
做好當前邏輯:
1)使得ActiveAndroid.beginTransaction()/ActiveAndroid.endTransaction();
塊
2)對於每個MyModel
user model
所有更新從分貝,更新檢索和保存
3)每個MyModel
從db中檢索,更新並保存
所以整個過程大概需要7-9秒。
由於user
(和其他內部對象)可以在不同的MyModel
對象,我做下的相同:在節約MyModel
我得到users
並把它HashMap
循環
,所以我獲得了獨特用戶列表,並在MyModel
更新後保存。 (但是相同的交易)。現在它將數據保存3-4秒。
,但看起來ActiveAndroid
使得MyModel
和User
表之間的一些引用,所以當我試圖從表中刪除用戶,我得到一個例外:
FOREIGN KEY constraint failed
那麼,該如何處理呢?