/** * INTERNAL: * Select all objects for a concrete descriptor. */ protected Object selectAllObjects(ReadAllQuery query) { ReadAllQuery concreteQuery = (ReadAllQuery)prepareQuery(query); return query.getSession().executeQuery(concreteQuery, query.getTranslationRow()); }
/** * INTERNAL: * Select all objects for a concrete descriptor. */ protected Object selectAllObjects(ReadAllQuery query) { ReadAllQuery concreteQuery = (ReadAllQuery)prepareQuery(query); return query.getSession().executeQuery(concreteQuery, query.getTranslationRow()); }
/** * INTERNAL: * Select all objects for a concrete descriptor. */ @Override protected Object selectAllObjects(ReadAllQuery query) { // If we came from a source mapping the execute the selection query // we prepared from it. if (selectionQueriesForAllObjects.containsKey(query.getSourceMapping())) { return query.getExecutionSession().executeQuery(selectionQueriesForAllObjects.get(query.getSourceMapping()), query.getTranslationRow()); } else { return super.selectAllObjects(query); } }
/** * INTERNAL: * Execute the query through remote session. */ public Object remoteExecute() { if (getContainerPolicy().overridesRead()) { return getContainerPolicy().remoteExecute(); } Object cacheHit = checkEarlyReturn(getSession(), getTranslationRow()); if (cacheHit != null) { return cacheHit; } return super.remoteExecute(); }
/** * INTERNAL: * Clone and prepare the selection query as a nested batch read query. * This is used for nested batch reading. */ public ReadQuery prepareNestedBatchQuery(ReadAllQuery query) { ReadAllQuery batchQuery = (ReadAllQuery)super.prepareNestedBatchQuery(query); if(this.listOrderField != null) { batchQuery.addAdditionalField(getListOrderFieldExpression(batchQuery.getExpressionBuilder())); } if (batchQuery.shouldPrepare()) { batchQuery.checkPrepare(query.getSession(), query.getTranslationRow()); } batchQuery.setSession(null); return batchQuery; }
Object sopObject = getTranslationRow().getSopObject(); boolean useOptimization = false; if (sopObject == null) { List<AbstractRecord> rows; if (sopObject != null) { Object valuesIterator = this.containerPolicy.iteratorFor(getTranslationRow().getSopObject()); int size = this.containerPolicy.sizeFor(sopObject); rows = new ArrayList<AbstractRecord>(size);
Object sopObject = getTranslationRow().getSopObject(); boolean useOptimization = false; if (sopObject == null) { List<AbstractRecord> rows; if (sopObject != null) { Object valuesIterator = this.containerPolicy.iteratorFor(getTranslationRow().getSopObject()); int size = this.containerPolicy.sizeFor(sopObject); rows = new ArrayList<AbstractRecord>(size);
/** * INTERNAL: * Select all objects for a concrete descriptor. */ protected Object selectAllObjects(ReadAllQuery query) { ReadAllQuery concreteQuery = (ReadAllQuery) query.deepClone(); concreteQuery.setReferenceClass(descriptor.getJavaClass()); concreteQuery.setDescriptor(descriptor); // Avoid cloning the query again ... concreteQuery.setIsExecutionClone(true); concreteQuery.getExpressionBuilder().setQueryClassAndDescriptor(descriptor.getJavaClass(), descriptor); // Update the selection criteria if needed as well and don't lose // the translation row. if (concreteQuery.getQueryMechanism().getSelectionCriteria() != null) { //make sure query builder is used for the selection criteria as deepClone will create //two separate builders. concreteQuery.setSelectionCriteria(concreteQuery.getQueryMechanism().getSelectionCriteria().rebuildOn(concreteQuery.getExpressionBuilder())); return query.getSession().executeQuery(concreteQuery, query.getTranslationRow()); } return query.getSession().executeQuery(concreteQuery); }
batchQuery.checkPrepare(query.getSession(), query.getTranslationRow());