org.greenrobot.greendao.query.QueryBuilder.join()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(5.3k)|赞(0)|评价(0)|浏览(146)

本文整理了Java中org.greenrobot.greendao.query.QueryBuilder.join方法的一些代码示例,展示了QueryBuilder.join的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.join方法的具体详情如下:
包路径:org.greenrobot.greendao.query.QueryBuilder
类名称:QueryBuilder
方法名:join

QueryBuilder.join介绍

[英]Expands the query to another entity type by using a JOIN. The primary key property of the primary entity for this QueryBuilder is used to match the given destinationProperty.
[中]通过使用联接将查询扩展到另一个实体类型。此QueryBuilder的主实体的主键属性用于匹配给定的destinationProperty。

代码示例

代码示例来源:origin: greenrobot/greenDAO

/**
 * Expands the query to another entity type by using a JOIN. The primary key property of the primary entity for
 * this QueryBuilder is used to match the given destinationProperty.
 */
public <J> Join<T, J> join(Class<J> destinationEntityClass, Property destinationProperty) {
  return join(dao.getPkProperty(), destinationEntityClass, destinationProperty);
}

代码示例来源:origin: greenrobot/greenDAO

/** Internal query to resolve the "dateEntityList" to-many relationship of ToManyEntity. */
public List<DateEntity> _queryToManyEntity_DateEntityList(Long idToMany) {
  synchronized (this) {
    if (toManyEntity_DateEntityListQuery == null) {
      QueryBuilder<DateEntity> queryBuilder = queryBuilder();
      queryBuilder.join(JoinManyToDateEntity.class, JoinManyToDateEntityDao.Properties.IdDate)
        .where(JoinManyToDateEntityDao.Properties.IdToMany.eq(idToMany));
      toManyEntity_DateEntityListQuery = queryBuilder.build();
    }
  }
  Query<DateEntity> query = toManyEntity_DateEntityListQuery.forCurrentThread();
  query.setParameter(0, idToMany);
  return query.list();
}

代码示例来源:origin: greenrobot/greenDAO

private QueryBuilder<RelationEntity> createQueryBuilder(int simpleIntWhereValue) {
  QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder();
  Join<RelationEntity, TestEntity> join = queryBuilder.join(RelationEntityDao.Properties.TestIdNotNull,
      TestEntity.class);
  join.where(Properties.SimpleInt.eq(simpleIntWhereValue));
  return queryBuilder;
}

代码示例来源:origin: greenrobot/greenDAO

public void testJoinOfJoin() {
  prepareData();
  List<RelationEntity> relationEntities = relationEntityDao.loadAll();
  relationEntities.get(2).setParent(relationEntities.get(4));
  relationEntities.get(3).setParent(relationEntities.get(5));
  relationEntities.get(7).setParent(relationEntities.get(5));
  relationEntityDao.updateInTx(relationEntities);
  QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder();
  Join<RelationEntity, RelationEntity> join1 =
      queryBuilder.join(RelationEntityDao.Properties.ParentId, RelationEntity.class);
  queryBuilder.join(join1, RelationEntityDao.Properties.TestIdNotNull, TestEntity.class, Properties.Id)
      .where(Properties.SimpleInt.lt(6));
  Query<RelationEntity> query = queryBuilder.build();
  RelationEntity entity = query.uniqueOrThrow();
  assertEquals(relationEntities.get(2).getSimpleString(), entity.getSimpleString());
  query.setParameter(0, 99);
  assertEquals(3, query.list().size());
}

代码示例来源:origin: greenrobot/greenDAO

public void testJoinCount() {
  prepareData();
  QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder();
  Join<RelationEntity, TestEntity> join = queryBuilder.join(RelationEntityDao.Properties.TestIdNotNull,
      TestEntity.class);
  join.where(Properties.SimpleInt.gt(6));
  queryBuilder.count();
  assertEquals(4, queryBuilder.count());
}

代码示例来源:origin: greenrobot/greenDAO

public void testJoinMixedParameterValues() {
  prepareData();
  QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder();
  queryBuilder.where(RelationEntityDao.Properties.SimpleString.like(""), RelationEntityDao.Properties.SimpleString.ge(""));
  Join<RelationEntity, TestEntity> join = queryBuilder.join(RelationEntityDao.Properties.TestIdNotNull,
      TestEntity.class);
  join.where(Properties.SimpleInt.le(0));
  queryBuilder.offset(0).limit(0);
  Query<RelationEntity> query = queryBuilder.build();
  query.setParameter(0, "entity-%");
  query.setParameter(1, "entity-4");
  query.setParameter(2, 6);
  query.setOffset(1);
  query.setLimit(99);
  List<RelationEntity> entities = query.list();
  assertEquals(2, entities.size());
  assertEquals("entity-5", entities.get(0).getSimpleString());
  assertEquals("entity-6", entities.get(1).getSimpleString());
}

代码示例来源:origin: chat-sdk/chat-sdk-android

/** Internal query to resolve the "userThreadLinks" to-many relationship of Thread. */
public List<UserThreadLink> _queryThread_UserThreadLinks(Long threadId) {
  synchronized (this) {
    if (thread_UserThreadLinksQuery == null) {
      QueryBuilder<UserThreadLink> queryBuilder = queryBuilder();
      queryBuilder.join(UserThreadLink.class, UserThreadLinkDao.Properties.UserId)
        .where(UserThreadLinkDao.Properties.ThreadId.eq(threadId));
      thread_UserThreadLinksQuery = queryBuilder.build();
    }
  }
  Query<UserThreadLink> query = thread_UserThreadLinksQuery.forCurrentThread();
  query.setParameter(0, threadId);
  return query.list();
}

代码示例来源:origin: org.greenrobot/greendao

/**
 * Expands the query to another entity type by using a JOIN. The primary key property of the primary entity for
 * this QueryBuilder is used to match the given destinationProperty.
 */
public <J> Join<T, J> join(Class<J> destinationEntityClass, Property destinationProperty) {
  return join(dao.getPkProperty(), destinationEntityClass, destinationProperty);
}

代码示例来源:origin: wallabag/android-app

qb.join(ArticleTagsJoin.class, ArticleTagsJoinDao.Properties.ArticleId)
    .where(ArticleTagsJoinDao.Properties.TagId.in(tagIDs));

相关文章