/** * INTERNAL: * Add additional fields */ protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); int size = targetForeignKeyFields.size(); for(int i=0; i < size; i++) { mappingBatchQuery.addAdditionalField(targetForeignKeyFields.get(i)); } }
/** * INTERNAL: * Allow the mapping the do any further batch preparation. */ protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query) { ReadAllQuery aggregateBatchQuery = (ReadAllQuery)batchQuery; aggregateBatchQuery.setShouldIncludeData(true); for (Enumeration relationFieldsEnum = getTargetForeignKeyFields().elements(); relationFieldsEnum.hasMoreElements();) { aggregateBatchQuery.getAdditionalFields().add(relationFieldsEnum.nextElement()); } }
/** * INTERNAL: * Add additional fields */ protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(this.getSelectionQueryContainerPolicy().shouldAddAll()); }
/** * INTERNAL: * Add the addition join fields to the batch query. */ public void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); Expression linkTable = mappingBatchQuery.getExpressionBuilder().getTable(this.relationTable); for (DatabaseField relationField : this.sourceRelationKeyFields) { mappingBatchQuery.getAdditionalFields().add(linkTable.getField(relationField)); } }
/** * INTERNAL: * Add the addition join fields to the batch query. */ public void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); Expression linkTable = mappingBatchQuery.getExpressionBuilder().getTable(this.relationTable); for (DatabaseField relationField : this.sourceRelationKeyFields) { mappingBatchQuery.getAdditionalFields().add(linkTable.getField(relationField)); } }
/** * INTERNAL: * Add additional fields */ @Override protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query) { super.postPrepareNestedBatchQuery(batchQuery, query); ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); this.containerPolicy.addAdditionalFieldsToQuery(mappingBatchQuery, getAdditionalFieldsBaseExpression(mappingBatchQuery)); }
/** * INTERNAL: * Add additional fields */ @Override protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query) { super.postPrepareNestedBatchQuery(batchQuery, query); ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); this.containerPolicy.addAdditionalFieldsToQuery(mappingBatchQuery, getAdditionalFieldsBaseExpression(mappingBatchQuery)); }
/** * INTERNAL: * Allow the mapping the do any further batch preparation. */ protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query) { // Force a distinct to filter out m-1 duplicates. if (!query.isDistinctComputed()) { ((ObjectLevelReadQuery)batchQuery).useDistinct(); } if(this.mechanism != null) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); for (Enumeration relationFieldsEnum = this.mechanism.getSourceRelationKeyFields().elements(); relationFieldsEnum.hasMoreElements();) { mappingBatchQuery.getAdditionalFields().add(mappingBatchQuery.getExpressionBuilder().getTable(this.mechanism.getRelationTable()).getField((DatabaseField)relationFieldsEnum.nextElement())); } } }
/** * INTERNAL: * Add additional fields and check for history. */ protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query) { ReadAllQuery mappingBatchQuery = (ReadAllQuery)batchQuery; mappingBatchQuery.setShouldIncludeData(true); for (Enumeration relationFieldsEnum = getSourceRelationKeyFields().elements(); relationFieldsEnum.hasMoreElements();) { mappingBatchQuery.getAdditionalFields().add(mappingBatchQuery.getExpressionBuilder().getTable(getRelationTable()).getField((DatabaseField)relationFieldsEnum.nextElement())); } if (getHistoryPolicy() != null) { ExpressionBuilder builder = mappingBatchQuery.getExpressionBuilder(); Expression twisted = batchQuery.getSelectionCriteria(); if (query.getSession().getAsOfClause() != null) { builder.asOf(query.getSession().getAsOfClause()); } else if (builder.getAsOfClause() == null) { builder.asOf(AsOfClause.NO_CLAUSE); } twisted = twisted.and(getHistoryPolicy().additionalHistoryExpression(builder)); mappingBatchQuery.setSelectionCriteria(twisted); } }