考虑我有一个模型:
公司 1 - N 人
我想显示一个人员列表,包括他们的姓名和所在公司的名称。但不是每个人都有公司。
为了避免每次调用person.getCompany()都会导致新的SQL查询,因此我考虑添加一个联接:
问题是我只得到了有公司的人,因为生成的查询使用的是JOIN,这相当于INNER JOIN。我认为我需要LEFT JOIN来获得没有公司的人。
现在似乎GreenDAO不支持LEFT JOIN。有没有其他方法可以在不执行原始查询的情况下进行请求?
我想显示一个人员列表,包括他们的姓名和所在公司的名称。但不是每个人都有公司。
为了避免每次调用person.getCompany()都会导致新的SQL查询,因此我考虑添加一个联接:
QueryBuilder<Person> queryBuilder = session.getPersonDao().queryBuilder();
queryBuilder.join(PersonDao.Properties.CompanyId, Company.class);
queryBuilder.list()
问题是我只得到了有公司的人,因为生成的查询使用的是JOIN,这相当于INNER JOIN。我认为我需要LEFT JOIN来获得没有公司的人。
现在似乎GreenDAO不支持LEFT JOIN。有没有其他方法可以在不执行原始查询的情况下进行请求?