Android领域,插入一对多 - @PrimaryKey

时间:2015-12-15 18:27:36

标签: android realm

官方文档的定义如下。

  

RealmList基本上是RealmObjects的容器,表现得非常好   很像普通的Java List。领域没有限制   在不同的RealmList中使用相同的对象两次(或更多),和你   可以使用它来模拟一对多和多对多   relationsships。

所以,

public class Email extends RealmObject {

    @PrimaryKey
    private String address;
    private boolean active;
    // ... setters and getters left out
}

public class Contact extends RealmObject {
    @PrimaryKey
    private String name;
    private RealmList<Email> emails;
    // ... setters and getters left out
}

如何避免重复数据?有一些方法可以避免重复的主键?

realm.beginTransaction();
Contact contact = realm.createObject(Contact.class);
contact.setName("John Doe");

Email email1 = realm.createObject(Email.class);
email1.setAddress("john@example.com");
email1.setActive(true);
contact.getEmails().add(email1);

Email email2 = realm.createObject(Email.class);
email2.setAddress("john@example.com");
email2.setActive(false);
contact.getEmails().add(email2);

realm.commitTransaction();

0 个答案:

没有答案