/** * INTERNAL: * Prepare and execute the batch query and store the * results for each source object in a map keyed by the * mappings source keys of the source objects. */ @Override protected void executeBatchQuery(DatabaseQuery query, CacheKey parentCacheKey, Map referenceObjectsByKey, AbstractSession session, AbstractRecord translationRow) { // Execute query and index resulting objects by key. List results; ObjectBuilder builder = query.getDescriptor().getObjectBuilder(); if (this.mechanism == null) { results = (List)session.executeQuery(query, translationRow); for (Object eachReferenceObject : results) { Object eachReferenceKey = extractKeyFromReferenceObject(eachReferenceObject, session); referenceObjectsByKey.put(eachReferenceKey, builder.wrapObject(eachReferenceObject, session)); } } else { ComplexQueryResult complexResult = (ComplexQueryResult)session.executeQuery(query, translationRow); results = (List)complexResult.getResult(); List<AbstractRecord> rows = (List)complexResult.getData(); int size = results.size(); for (int index = 0; index < size; index++) { AbstractRecord row = rows.get(index); Object key = this.mechanism.extractKeyFromTargetRow(row, session); referenceObjectsByKey.put(key, builder.wrapObject(results.get(index), session)); } } }
/** * INTERNAL: * Prepare and execute the batch query and store the * results for each source object in a map keyed by the * mappings source keys of the source objects. */ @Override protected void executeBatchQuery(DatabaseQuery query, CacheKey parentCacheKey, Map referenceObjectsByKey, AbstractSession session, AbstractRecord translationRow) { // Execute query and index resulting objects by key. List results; ObjectBuilder builder = query.getDescriptor().getObjectBuilder(); if (this.mechanism == null) { results = (List)session.executeQuery(query, translationRow); for (Object eachReferenceObject : results) { Object eachReferenceKey = extractKeyFromReferenceObject(eachReferenceObject, session); referenceObjectsByKey.put(eachReferenceKey, builder.wrapObject(eachReferenceObject, session)); } } else { ComplexQueryResult complexResult = (ComplexQueryResult)session.executeQuery(query, translationRow); results = (List)complexResult.getResult(); List<AbstractRecord> rows = (List)complexResult.getData(); int size = results.size(); for (int index = 0; index < size; index++) { AbstractRecord row = rows.get(index); Object key = this.mechanism.extractKeyFromTargetRow(row, session); referenceObjectsByKey.put(key, builder.wrapObject(results.get(index), session)); } } }
CacheKey eachReferenceKey = new CacheKey(extractKeyFromReferenceObject(eachReferenceObject, session));
Enumeration keyEnum = extractKeyFromReferenceObject(value, session).elements(); for (Iterator sourceFieldsEnum = getSourceToTargetKeyFields().keySet().iterator(); sourceFieldsEnum.hasNext();) { keys = extractKeyFromReferenceObject(value, session); boolean allNulls = true; for(int i=0; i < size; i++) {
Iterator keyIterator = Arrays.asList(((CacheId)extractKeyFromReferenceObject(value, session)).getPrimaryKey()).iterator(); for (DatabaseField field : getSourceToTargetKeyFields().keySet()) { Expression join = null; key = extractKeyFromReferenceObject(value, session); boolean allNulls = true; for (int i=0; i < size; i++) {
Iterator keyIterator = Arrays.asList(((CacheId)extractKeyFromReferenceObject(value, session)).getPrimaryKey()).iterator(); for (DatabaseField field : getSourceToTargetKeyFields().keySet()) { Expression join = null; key = extractKeyFromReferenceObject(value, session); boolean allNulls = true; for (int i=0; i < size; i++) {