我遇到Realm抱怨重复主键的问题。这是问题:Android中嵌套领域对象的主键
我有两个领域类。我需要分别访问两者,并且还有一对多关系。
主题:
public class Topic extends RealmObject{
@PrimaryKey
private String id;
private String subject;
}
和问题:
public class Question extends RealmObject {
@PrimaryKey
private String _id;
private RealmList<Option> options = null;
private RealmList<Answer> answer;
private Topic topic;
}
不止一个问题可以有相同的话题。但是,当我尝试创建领域问题数据库时,领域引发RealmPrimaryKeyConstraintException:值已经存在:异常。并且使用主题类的主键抛出异常。
我该如何避免这种情况?
您的意思是在主题声明中有_id吗? –
不是。主题'id'与问题'_id'(该问题是唯一的)不同(对于主题是唯一的)。命名只是它在服务器数据库上设置的方式 – pritamps
当人们在创建时使用'createObject()'而不指定对象的id时,或者有时使用'copyToRealm()'而不是'copyToRealmOrUpdate() )'那样做。考虑到事务代码未显示,我们实际上并未看到错误的实际原因。 – EpicPandaForce