领域:插入RealmObject,引用同一类型的其他对象

时间:2016-09-23 14:59:48

标签: java android realm

我正在尝试插入一个对象,该对象引用了相同类型的对象(数据库中也不存在):

@RealmClass
public class User extends RealmObject implements RealmObjectModel, Serializable
{
    @PrimaryKey
    private long id;

    private RealmList<User> friends = new RealmList<>();
    private RealmList<User> sentFriendRequests = new RealmList<>();

    //getter, setter, other stuff
}

但每次我插入或复制根对象时,realm只保存一个对象,它不是root用户,但显然是它可以找到的最后一个对象,在本例中是sentFriendRequests中的对象。怎么了?为什么不将每个对象都保存到数据库中?

public static void insertOrUpdate(final User user)
{
    Realm realm = Realm.getDefaultInstance();

    realm.executeTransaction(new Realm.Transaction()
    {
        @Override
        public void execute(Realm realm)
        {
            realm.insertOrUpdate(user);
        }
    });

    realm.close();
}

显然,realm无法通过RealmLists处理多次插入,因此我可能必须自己插入每个对象。老实说,工作比它应该多。

0 个答案:

没有答案