领域关系字段始终为null

时间:2015-10-06 09:54:00

标签: android null realm relation

有我的模特:

public class RChat extends RealmObject {
    @PrimaryKey
    private String              Id;
    private RMyTest Test;

    public RChat() {}
}

public class RMyTest extends RealmObject {
    @PrimaryKey
    private String myName;

    public RMyTest() {
    }
}

我正在使用这样:

mRealm = Realm.getInstance(this);


        mRealm.beginTransaction();
        final RChat chat = mRealm.createObject(RChat.class);
        chat.setId("test");
        RMyTest rProfile = mRealm.createObject(RMyTest.class);
        rProfile.setMyName("alireza test");
        chat.setTest(rProfile);
        //mRealm.copyToRealmOrUpdate(chat);
        mRealm.commitTransaction();

        RChat chat1 = mRealm.where(RChat.class).equalTo("Id","test").findFirst();

chat1对象的Test字段始终为空值。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

代码看起来正确。如果通过检查调试窗口中的chat1 Test字段获得null,则将获得空值。这是预期的。

Realm将生成代理类并覆盖代理类中的getter / setter。所以如果你试试

RMyTest rProfile = chat1.getTest();

我相信您可以获得相应的RMyTest对象,而不是null

此行为记录在案here

答案 1 :(得分:1)

我认为我的对象不能直接为null,但重点是Realm使用代理模型而代理实际上不是null。