Android Realm一对多的关系,查询

时间:2017-08-20 10:10:02

标签: android realm relationship one-to-many realm-mobile-platform

我有两个班级:

public class Employee extends RealmObject {
    @PrimaryKey
    long id;
    String name
    Department department;

    //getters setters etc.
}

public class Department extends RealmObject {
    @PrimaryKey
    int id;
    String name;

    //getters setters etc.
}

这是一对多的关系。一个部门可以拥有多名员工。我试图提出一些问题。

realm.where(Employee.class).equalTo("department.name", "deptName").findAll()
realm.where(Department.class).equalTo("employee.name", "empName").findAll()

第一个是工作,第二个有错误:

查询无效:员工未引用类。

如何使第二个工作?我必须在Department类中创建一个RealmList of Employees吗?

我想在此查询中获取所有具有指定名称的员工的部门。

1 个答案:

答案 0 :(得分:5)

Realm 3.5.0 +:

public class Employee extends RealmObject {
    @PrimaryKey
    long id;
    String name
    Department department;

    //getters setters etc.
}

public class Department extends RealmObject {
    @PrimaryKey
    int id;
    String name;

    @LinkingObjects("department")
    private final RealmResults<Employee> employees = null;
    //getters setters etc.
}
realm.where(Employee.class).equalTo("department.name", "deptName").findAll()
realm.where(Department.class).equalTo("employees.name", "empName").findAll()
相关问题