Realm Android与人际关系

时间:2017-06-13 08:59:19

标签: java android realm

我有两个RealmObject一个是PinCode,另一个是地址。在Pincode我正在存储一些预定义的数据,如"100233,123456,423233"等。我也在存储其中有Pincode的地址,如`

class Address extends  RealmObject
{ 
String address;
PinCode pincode;

`

现在,如果我添加一个PinCode“757041”的地址,这个密码是否会被添加到我之前创建的PinCode预定义数据中?

1 个答案:

答案 0 :(得分:0)

Realm的工作方式类似于对象图,因此如果你有多个PinCode个引用,那么如果你明确地这样做,它们只会指向同一个对象。它本身并不会发生。

如果您希望多个对象引用另一个对象,则通常会将该对象作为主键,以便于查找和查找:

public class Address extends RealmObject {
  public PinCode pinCode;
  public String address;
}

public class PinCode {
  @PrimaryKey public String id = UUID.getRandom().toString();
  public String code;
}

PinCode p = realm.where(PinCode.class).equalTo("id", id).findFirst();

// These two addresses will point to the same object
realm.createObject(Address.class).pinCode = p;
realm.createObject(Address.class).pinCode = p;