我正在尝试插入一个对象,该对象引用了相同类型的对象(数据库中也不存在):
@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处理多次插入,因此我可能必须自己插入每个对象。老实说,工作比它应该多。