通过Android Java中的主键获取Realm对象的正确方法

我想知道是否有一种正确的方法来检索一个对象,因为它在Realm for Android中具有主键.我知道方法objectForPrimaryKey确实存在于Swift中,但在Realm for Android中似乎没有这样的对应物.我真的认为做realm.where(EventInfo.class).equalTo(“id”,eventInfo.id).findFirst();看起来很浪费(至少它不是手腕友好的).我错过了一些方法吗?我目前正在使用Realm 1.0.1

解决方法:

这就是为什么我有像这样的Realm存储库(我写的)

public class CalendarEventRepositoryImpl
        extends LongRealmRepositoryImpl<CalendarEvent>
        implements CalendarEventRepository {
    public CalendarEventRepositoryImpl() {
        super(CalendarEvent.class);
    }

    @Override
    public Long getId(CalendarEvent calendarEvent) {
        return calendarEvent.getId();
    }

    public void setId(CalendarEvent calendarEvent, Long id) {
        calendarEvent.setId(id);
    }

    public String getIdFieldName() {
        return CalendarEventFields.ID;
    }
}

我继承了一个名为findOne(realm,id)的方法;喜欢

CalendarEvent event = calendarEventRepository.findOne(realm, id);

但是,默认情况下,它是realm.where(CalendarEvent.class).equalTo(“id”,id).findFirst();

上一篇:android – 这个Realm实例已经关闭,使其无法使用RxJava


下一篇:java – 一次刷新多个Realm实例?