提前谢谢。
在我的场景中,我希望检查现有的和新的领域模型对象之间的数据差异。
示例
public class PostModel extends RealmObject {
@Required
@PrimaryKey
@Index
private String postId;
private String message;
}假设我们有两个对象
年长的
PostModel old = new PostModel("one", "Welcome");
realm.copyToRealm(old);新对象
PostModel newOne = new PostModel("one", "Welcome to World");在用newOne更新旧对象之前,应检查数据更改,如果存在更改,则应在领域中插入,如下所示
realm.dirtyCheckAndUpdate(old, newOne);//基础应该在下面完成
我只是举了一个例子,我需要为复杂的RealmModel与关系。
发布于 2018-01-22 12:34:52
你为什么要检查?你能打电话给copyToRealmOrUpdate()吗?不管如何,它都会更新数据,但是如果它用相同的数据覆盖数据,则最终结果是相同的。
否则,您将被迫实现所有的检查自己,这是耗时和容易出错的。您还可以制作自己的注释处理器,为您生成逻辑。它看起来应该是:
public boolean compare(PostModel m1, PostModel m2) {
if (!m1.getId().equals(m2.getId()) return false;
if (!m1.getMessage().equals(m2.getMessage()) return false;
if (!PostModelReference.compare(m1.getRef(), m2.getRef()) return false; // Recursive checks
}https://stackoverflow.com/questions/48325722
复制相似问题