android realm删除对象,Android Realm将对象添加到现有的一对多关系中

我遇到了Realm的问题,一对多关系以及更新现有条目以向关系添加更多数据 .

模型1

public class Model1 extends RealmObject

{

@PrimaryKey

private String identifier;

@SerializedName("type")

private String type;

@SerializedName("additionalInfo")

private String additionalInfo;

@SerializedName("options")

private RealmList moreModels;

}

模型2

public class Model2 extends RealmObject

{

@SerializedName("hint")

private String hint;

@SerializedName("label")

private String label;

@SerializedName("favorite")

private boolean favorite;

@PrimaryKey

private String identifier;

}

所以从API我得到一个Model1对象列表,每个对象都包含自己的Model2对象列表 . 很简单 . 这很好用,我可以将它添加到Realm并查看关系 .

现在,当我为另一个用户进行第二次API调用时,我的问题出现了 . 我希望这项工作的方式是让Model2上的identifier属性由userId标签组成 . 因此,每个用户都有自己的Model2对象集 . 但是,我希望只有一组Model1对象,其对Model2对象的引用会随着更多内容添加到Model2表而更新 .

相反,我工作的是保留我的一组Model1(好),但与Model2的关系总是被最新的设置覆盖 . 所以我有一个Model2对象表,有80个条目,但只有最后40个连接 .

所以看起来我的更新或插入正在更新表中的Model1条目(GOOD),但不是将现有关系与新关系连接起来,而只是将关系更新为仅使用新关系 . Model2条目正在正确添加到其表中,因为没有基于主键的重复项 . 但是连接断了 .

更新代码

List test = response.body();

try(Realm realmInstance = Realm.getDefaultInstance()) {

realmInstance.executeTransaction((realm) ->

{

realm.insertOrUpdate(test);

final RealmResults category = realm.where(Model1).findAll();

}

);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值