领域java高级查询而不是for-each用于列表ID内的搜索

时间:2015-06-01 20:21:16

标签: java realm

我有这样的模特

    public class WorkDB extends RealmObject {
        private String address;
        private RealmList<ReportDB> reports;

        getters setters
    }

public class ReportDB extends RealmObject implements Serializable{
    private int idReport;
    private String nameReport;
    private RealmList<ReplieGroupDB> repliesGroup;
    private RealmList<QuestionGroupDB> questionGroups;

    getters setters
}

public class QuestionGroupDB extends RealmObject {

    private int idQuestionGroupInReplie;
    private String nameQuestionGroupInReplie;
    private RealmList<QuestionDB> questions;
    private int times;
}

我如何进行像

这样的查询
realm.search(WorkDb.class).where(id,20).and(ReportDb.class).where(idReport,1).and(QuestionGroupDB.class).where(idQuestionGroupInReplie,2);

为了避免执行查询以获取WorkDB并为报告中的每个查找按ID进行查找,然后,其他人在questionGroupsDB中为每个查找任何其他ID来查找任何内容..

1 个答案:

答案 0 :(得分:1)

如果你想要检索一个列表QuestionDB对象,遗憾的是,除了构建一个像你描述的那样的手动查询之外,别无其他办法。我们在TODO(https://github.com/realm/realm-java/issues/607)上有一个名为BackLinks的概念,可以进行您正在寻找的那种查询,但目前您必须手动完成。遗憾。