greenDAO queryBuilder加入

时间:2016-03-29 11:22:39

标签: android sql greendao

我有2个实体(人,租约)。我希望获得person_id等于Lease_personId的所有人和租赁属性。

使用原始查询

SELECT * 
FROM Person 
INNER JOIN lease ON person._id = lease.person_id

在数据库上,一切正常。

但是使用greenDAO queryBuilder:

QueryBuilder<Person> queryBuilder = personDao.queryBuilder();
queryBuilder.join(Lease.class, LeaseDao.Properties.PersonId);

List <Person> persons = queryBuilder.list();

我一无所获。

1 个答案:

答案 0 :(得分:3)

看起来你缺少where条件。以下是我在文档代码中找到的内容

QueryBuilder<User> queryBuilder = userDao.queryBuilder();
queryBuilder.join(Address.class, AddressDao.Properties.userId)
  .where(AddressDao.Properties.Street.eq("Sesame Street"));
List<User> users = queryBuilder.list();

更多访问greenDao Joins