本文整理汇总了Java中org.jooq.SelectQuery.addJoin方法的典型用法代码示例。如果您正苦于以下问题:Java SelectQuery.addJoin方法的具体用法?Java SelectQuery.addJoin怎么用?Java SelectQuery.addJoin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jooq.SelectQuery
的用法示例。
在下文中一共展示了SelectQuery.addJoin方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getInternalCSV
import org.jooq.SelectQuery; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private
SelectQuery<Record8<Integer, String, Integer, String, DateTime, String, DateTime, String>>
getInternalCSV(TransactionQueryForm form) {
SelectQuery selectQuery = ctx.selectQuery();
selectQuery.addFrom(TRANSACTION);
selectQuery.addJoin(CONNECTOR, TRANSACTION.CONNECTOR_PK.eq(CONNECTOR.CONNECTOR_PK));
selectQuery.addSelect(
TRANSACTION.TRANSACTION_PK,
CONNECTOR.CHARGE_BOX_ID,
CONNECTOR.CONNECTOR_ID,
TRANSACTION.ID_TAG,
TRANSACTION.START_TIMESTAMP,
TRANSACTION.START_VALUE,
TRANSACTION.STOP_TIMESTAMP,
TRANSACTION.STOP_VALUE
);
return addConditions(selectQuery, form);
}
示例2: getInternal
import org.jooq.SelectQuery; //导入方法依赖的package包/类
/**
* Difference from getInternalCSV:
* Joins with CHARGE_BOX and OCPP_TAG tables, selects CHARGE_BOX_PK and OCPP_TAG_PK additionally
*/
@SuppressWarnings("unchecked")
private
SelectQuery<Record10<Integer, String, Integer, String, DateTime, String, DateTime, String, Integer, Integer>>
getInternal(TransactionQueryForm form) {
SelectQuery selectQuery = ctx.selectQuery();
selectQuery.addFrom(TRANSACTION);
selectQuery.addJoin(CONNECTOR, TRANSACTION.CONNECTOR_PK.eq(CONNECTOR.CONNECTOR_PK));
selectQuery.addJoin(CHARGE_BOX, CHARGE_BOX.CHARGE_BOX_ID.eq(CONNECTOR.CHARGE_BOX_ID));
selectQuery.addJoin(OCPP_TAG, OCPP_TAG.ID_TAG.eq(TRANSACTION.ID_TAG));
selectQuery.addSelect(
TRANSACTION.TRANSACTION_PK,
CONNECTOR.CHARGE_BOX_ID,
CONNECTOR.CONNECTOR_ID,
TRANSACTION.ID_TAG,
TRANSACTION.START_TIMESTAMP,
TRANSACTION.START_VALUE,
TRANSACTION.STOP_TIMESTAMP,
TRANSACTION.STOP_VALUE,
CHARGE_BOX.CHARGE_BOX_PK,
OCPP_TAG.OCPP_TAG_PK
);
return addConditions(selectQuery, form);
}
示例3: getSecretSeries
import org.jooq.SelectQuery; //导入方法依赖的package包/类
public ImmutableList<SecretSeries> getSecretSeries(@Nullable Long expireMaxTime, Group group) {
SelectQuery<Record> select = dslContext
.select().from(SECRETS).join(SECRETS_CONTENT).on(SECRETS.CURRENT.equal(SECRETS_CONTENT.ID))
.where(SECRETS.CURRENT.isNotNull()).getQuery();
if (expireMaxTime != null && expireMaxTime > 0) {
select.addOrderBy(SECRETS_CONTENT.EXPIRY.asc().nullsLast());
long now = System.currentTimeMillis() / 1000L;
select.addConditions(SECRETS_CONTENT.EXPIRY.greaterThan(now));
select.addConditions(SECRETS_CONTENT.EXPIRY.lessOrEqual(expireMaxTime));
}
if (group != null) {
select.addJoin(ACCESSGRANTS, SECRETS.ID.eq(ACCESSGRANTS.SECRETID));
select.addJoin(GROUPS, GROUPS.ID.eq(ACCESSGRANTS.GROUPID));
select.addConditions(GROUPS.NAME.eq(group.getName()));
}
List<SecretSeries> r = select.fetchInto(SECRETS).map(secretSeriesMapper);
return ImmutableList.copyOf(r);
}
示例4: addMappingJoins
import org.jooq.SelectQuery; //导入方法依赖的package包/类
protected void addMappingJoins(SelectQuery<?> query, Table<?> toTable, SchemaFactory schemaFactory, String fromType, Table<?> from, String asName, MapRelationship rel) {
Table<?> mappingTable = JooqUtils.getTableFromRecordClass(rel.getMappingType());
/* We don't required the mapping type to be visible external, that's why we use the schemaFactory
* from the objectManager, because it is the superset schemaFactory.
*/
String mappingType = getObjectManager().getSchemaFactory().getSchemaName(rel.getMappingType());
TableField<?, Object> fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD);
TableField<?, Object> fieldTo = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getPropertyName());
TableField<?, Object> fieldRemoved = JooqUtils.getTableField(getMetaDataManager(), mappingType, ObjectMetaDataManager.REMOVED_FIELD);
org.jooq.Condition cond = fieldFrom.eq(fieldTo.getTable().field(fieldTo.getName())).and(fieldRemoved == null ? DSL.trueCondition() : fieldRemoved.isNull());
query.addJoin(mappingTable, JoinType.LEFT_OUTER_JOIN, cond);
fieldFrom = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getOtherRelationship().getPropertyName());
fieldTo = JooqUtils.getTableField(getMetaDataManager(), schemaFactory.getSchemaName(rel.getObjectType()), ObjectMetaDataManager.ID_FIELD);
cond = fieldFrom.eq(fieldTo.getTable().asTable(asName).field(fieldTo.getName()));
query.addJoin(toTable, JoinType.LEFT_OUTER_JOIN, cond);
}
示例5: getListByRelationshipMap
import org.jooq.SelectQuery; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
protected <T> List<T> getListByRelationshipMap(Object obj, MapRelationship rel) {
Class<UpdatableRecord<?>> typeClass = JooqUtils.getRecordClass(schemaFactory, rel.getObjectType());
String mappingType = schemaFactory.getSchemaName(rel.getMappingType());
String fromType = schemaFactory.getSchemaName(rel.getObjectType());
TableField<?, Object> fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD);
TableField<?, Object> mappingTo = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getOtherRelationship().getPropertyName());
TableField<?, Object> mappingOther = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getPropertyName());
TableField<?, Object> mappingRemoved = JooqUtils.getTableField(getMetaDataManager(), mappingType, ObjectMetaDataManager.REMOVED_FIELD);
Table<?> table = JooqUtils.getTable(schemaFactory, typeClass);
Table<?> mapTable = JooqUtils.getTable(schemaFactory, rel.getMappingType());
SelectQuery<?> query = create().selectQuery();
query.addFrom(table);
query.addSelect(table.fields());
query.addJoin(mapTable, fieldFrom.eq(mappingTo)
.and(mappingRemoved == null ? DSL.trueCondition() : mappingRemoved.isNull())
.and(mappingOther.eq(ObjectUtils.getId(obj))));
return (List<T>)query.fetchInto(typeClass);
}
示例6: addMappingJoins
import org.jooq.SelectQuery; //导入方法依赖的package包/类
protected void addMappingJoins(SelectQuery<?> query, Table<?> toTable, SchemaFactory schemaFactory, String fromType, Table<?> from, String asName, MapRelationship rel) {
Table<?> mappingTable = JooqUtils.getTableFromRecordClass(rel.getMappingType());
String mappingType = schemaFactory.getSchemaName(rel.getMappingType());
TableField<?, Object> fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD);
TableField<?, Object> fieldTo = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getPropertyName());
TableField<?, Object> fieldRemoved = JooqUtils.getTableField(getMetaDataManager(), mappingType, ObjectMetaDataManager.REMOVED_FIELD);
org.jooq.Condition cond = fieldFrom.eq(fieldTo.getTable().field(fieldTo.getName())).and(fieldRemoved == null ? DSL.trueCondition() : fieldRemoved.isNull());
query.addJoin(mappingTable, JoinType.LEFT_OUTER_JOIN, cond);
fieldFrom = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getOtherRelationship().getPropertyName());
fieldTo = JooqUtils.getTableField(getMetaDataManager(), schemaFactory.getSchemaName(rel.getObjectType()), ObjectMetaDataManager.ID_FIELD);
cond = fieldFrom.eq(fieldTo.getTable().asTable(asName).field(fieldTo.getName()));
query.addJoin(toTable, JoinType.LEFT_OUTER_JOIN, cond);
}
示例7: getOverviewInternal
import org.jooq.SelectQuery; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private Result<Record7<Integer, Integer, String, String, String, String, String>> getOverviewInternal(UserQueryForm form) {
SelectQuery selectQuery = ctx.selectQuery();
selectQuery.addFrom(USER);
selectQuery.addJoin(OCPP_TAG, JoinType.LEFT_OUTER_JOIN, USER.OCPP_TAG_PK.eq(OCPP_TAG.OCPP_TAG_PK));
selectQuery.addSelect(
USER.USER_PK,
USER.OCPP_TAG_PK,
OCPP_TAG.ID_TAG,
USER.FIRST_NAME,
USER.LAST_NAME,
USER.PHONE,
USER.E_MAIL
);
if (form.isSetUserPk()) {
selectQuery.addConditions(USER.USER_PK.eq(form.getUserPk()));
}
if (form.isSetOcppIdTag()) {
selectQuery.addConditions(includes(OCPP_TAG.ID_TAG, form.getOcppIdTag()));
}
if (form.isSetEmail()) {
selectQuery.addConditions(includes(USER.E_MAIL, form.getEmail()));
}
if (form.isSetName()) {
// Concatenate the two columns and search within the resulting representation
// for flexibility, since the user can search by first or last name, or both.
Field<String> joinedField = DSL.concat(USER.FIRST_NAME, USER.LAST_NAME);
// Find a matching sequence anywhere within the concatenated representation
selectQuery.addConditions(includes(joinedField, form.getName()));
}
return selectQuery.fetch();
}
示例8: addJoins
import org.jooq.SelectQuery; //导入方法依赖的package包/类
protected void addJoins(SelectQuery<?> query, Map<Table<?>, Condition> joins) {
if ( joins == null ) {
return;
}
for ( Map.Entry<Table<?>, Condition> entry : joins.entrySet() ) {
query.addJoin(entry.getKey(), JoinType.LEFT_OUTER_JOIN, entry.getValue());
}
}
示例9: getOverview
import org.jooq.SelectQuery; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public List<Overview> getOverview(OcppTagQueryForm form) {
SelectQuery selectQuery = ctx.selectQuery();
selectQuery.addFrom(OCPP_TAG);
OcppTag parentTable = OCPP_TAG.as("parent");
selectQuery.addSelect(
OCPP_TAG.OCPP_TAG_PK,
parentTable.OCPP_TAG_PK,
OCPP_TAG.ID_TAG,
OCPP_TAG.PARENT_ID_TAG,
OCPP_TAG.EXPIRY_DATE,
OCPP_TAG.IN_TRANSACTION,
OCPP_TAG.BLOCKED
);
selectQuery.addJoin(parentTable, JoinType.LEFT_OUTER_JOIN, parentTable.ID_TAG.eq(OCPP_TAG.PARENT_ID_TAG));
if (form.isIdTagSet()) {
selectQuery.addConditions(OCPP_TAG.ID_TAG.eq(form.getIdTag()));
}
if (form.isParentIdTagSet()) {
selectQuery.addConditions(OCPP_TAG.PARENT_ID_TAG.eq(form.getParentIdTag()));
}
switch (form.getExpired()) {
case ALL:
break;
case TRUE:
selectQuery.addConditions(OCPP_TAG.EXPIRY_DATE.lessOrEqual(CustomDSL.utcTimestamp()));
break;
case FALSE:
selectQuery.addConditions(
OCPP_TAG.EXPIRY_DATE.isNull().or(OCPP_TAG.EXPIRY_DATE.greaterThan(CustomDSL.utcTimestamp()))
);
break;
default:
throw new SteveException("Unknown enum type");
}
processBooleanType(selectQuery, OCPP_TAG.IN_TRANSACTION, form.getInTransaction());
processBooleanType(selectQuery, OCPP_TAG.BLOCKED, form.getBlocked());
return selectQuery.fetch().map(new UserMapper());
}
示例10: getReservations
import org.jooq.SelectQuery; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public List<Reservation> getReservations(ReservationQueryForm form) {
SelectQuery selectQuery = ctx.selectQuery();
selectQuery.addFrom(RESERVATION);
selectQuery.addJoin(OCPP_TAG, OCPP_TAG.ID_TAG.eq(RESERVATION.ID_TAG));
selectQuery.addJoin(CONNECTOR, CONNECTOR.CONNECTOR_PK.eq(RESERVATION.CONNECTOR_PK));
selectQuery.addJoin(CHARGE_BOX, CONNECTOR.CHARGE_BOX_ID.eq(CHARGE_BOX.CHARGE_BOX_ID));
selectQuery.addSelect(
RESERVATION.RESERVATION_PK,
RESERVATION.TRANSACTION_PK,
OCPP_TAG.OCPP_TAG_PK,
CHARGE_BOX.CHARGE_BOX_PK,
OCPP_TAG.ID_TAG,
CHARGE_BOX.CHARGE_BOX_ID,
RESERVATION.START_DATETIME,
RESERVATION.EXPIRY_DATETIME,
RESERVATION.STATUS,
CONNECTOR.CONNECTOR_ID
);
if (form.isChargeBoxIdSet()) {
selectQuery.addConditions(CHARGE_BOX.CHARGE_BOX_ID.eq(form.getChargeBoxId()));
}
if (form.isOcppIdTagSet()) {
selectQuery.addConditions(RESERVATION.ID_TAG.eq(form.getOcppIdTag()));
}
if (form.isStatusSet()) {
selectQuery.addConditions(RESERVATION.STATUS.eq(form.getStatus().name()));
}
processType(selectQuery, form);
// Default order
selectQuery.addOrderBy(RESERVATION.EXPIRY_DATETIME.asc());
return selectQuery.fetch().map(new ReservationMapper());
}
示例11: getQuestionSelect
import org.jooq.SelectQuery; //导入方法依赖的package包/类
private SelectQuery<Record> getQuestionSelect(final QuestionsOptions options) {
final SelectQuery<Record> query = jooq.selectQuery();
final Field<?> answersCountField = DSL.selectCount()
.from(QUESTIONS_ANSWERS)
.where(QUESTIONS_ANSWERS.QUESTION_ID.eq(QUESTIONS.QUESTION_ID))
.asField("answersCount");
query.addSelect(USERS.LOGIN,
PROFILES.FIRST_NAME,
PROFILES.LAST_NAME,
PROFILES.NICKNAME,
CONTESTS.CODE,
TASKS.CODE,
QUESTIONS.QUESTION_ID,
QUESTIONS.STATUS,
QUESTIONS.QUESTION,
QUESTIONS.CREATED,
QUESTIONS.PRIVATE,
answersCountField);
query.addFrom(QUESTIONS);
query.addJoin(TASKS, JoinType.LEFT_OUTER_JOIN, TASKS.TASK_ID.eq(QUESTIONS.TASK_ID));
query.addJoin(CONTESTS, JoinType.LEFT_OUTER_JOIN, CONTESTS.CONTEST_ID.eq(QUESTIONS.CONTEST_ID));
query.addJoin(USERS, USERS.USER_ID.eq(QUESTIONS.USER_ID));
query.addJoin(PROFILES, USERS.USER_ID.eq(PROFILES.USER_ID));
if (options != null) {
final Field<Integer> questionIdField =
DSL.field("split_part({0}, '|', 1)::integer", Integer.class, EVENTS.ARGUMENTS);
final Field<Object> hasNotificationField =
DSL.selectCount()
.from(NOTIFICATIONS)
.join(EVENTS)
.using(NOTIFICATIONS.EVENT_ID)
.where(NOTIFICATIONS.USER_ID.eq(JooqDaoUtils.getUserId(options.getCurrentUser())))
.and(NOTIFICATIONS.STATUS.eq(NotifyStatus.unread))
.and(questionIdField.eq(QUESTIONS.QUESTION_ID))
.asField("hasNotification");
query.addSelect(hasNotificationField);
query.addOrderBy(hasNotificationField.desc());
if (!Strings.isNullOrEmpty(options.getQuery())) {
final String lowerCaseQuery = options.getQuery().toLowerCase();
query.addConditions(QUESTIONS.QUESTION.lower().contains(lowerCaseQuery)
.or(USERS.LOGIN.lower().contains(lowerCaseQuery))
.or(PROFILES.NICKNAME.lower().contains(lowerCaseQuery))
.or(TASKS.CODE.lower().contains(lowerCaseQuery))
.or(CONTESTS.CODE.lower().contains(lowerCaseQuery)));
}
}
return query;
}