0

我有一個使用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)對於每個MyModeluser model所有更新從分貝,更新檢索和保存

3)每個MyModel從db中檢索,更新並保存

所以整個過程大概需要7-9秒。

由於user(和其他內部對象)可以在不同的MyModel對象,我做下的相同:在節約MyModel我得到users並把它HashMap循環

,所以我獲得了獨特用戶列表,並在MyModel更新後保存。 (但是相同的交易)。現在它將數據保存3-4秒。

,但看起來ActiveAndroid使得MyModelUser表之間的一些引用,所以當我試圖從表中刪除用戶,我得到一個例外:

FOREIGN KEY constraint failed 

那麼,該如何處理呢?

回答

0

由於ActiveAndroid最近3年不支持...我的解決方案是遷移到另一個orm。 還有一個原因是針對ActiveAndroid - is slower than others