我有一个使用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
那么,该如何处理呢?