iterator.iterateOn(getWhereClause()); } else if (hasOuterJoinExpressions()) { Expression outerJoinCriteria = (Expression)getOuterJoinedMappingCriteria().firstElement(); if (outerJoinCriteria != null){ iterator.iterateOn(outerJoinCriteria);
Expression onExpression = (Expression)getOuterJoinedMappingCriteria().elementAt(index); writer.write(")"); Expression sourceToTargetJoin = (Expression)getOuterJoinedMappingCriteria().elementAt(index); printOnClause(sourceToTargetJoin, printer, platform); if (hasAdditionalJoinExpressions && !platform.supportsNestingOuterJoins()) { DatabaseTable relationAlias = ((Expression)getOuterJoinedMappingCriteria().elementAt(index)).aliasForTable(relationTable); Vector tablesInOrder = NonSynchronizedVector.newInstance(3); tablesInOrder.add(targetAlias); TreeMap indexToExpressionMap = new TreeMap(); mapTableIndexToExpression((Expression)getOuterJoinedMappingCriteria().elementAt(index), indexToExpressionMap, tablesInOrder); Expression sourceToRelationJoin = (Expression)indexToExpressionMap.get(new Integer(1)); Expression relationToTargetJoin = (Expression)indexToExpressionMap.get(new Integer(2));
CompoundExpression relationExpression = (CompoundExpression)getOuterJoinedMappingCriteria().elementAt(index);// get expression for multiple table case
rebuildAndAddExpressions(getOuterJoinedMappingCriteria(), allExpressions, builder, clonedExpressions); for (Iterator criterias = getOuterJoinedAdditionalJoinCriteria().iterator(); criterias.hasNext();) { for (Iterator criterias = getOuterJoinedMappingCriteria().iterator(); criterias.hasNext();) { Expression criteria = (Expression)criterias.next();
normalizer.getStatement().getOuterJoinedMappingCriteria().addElement(mappingExpression); normalizer.addAdditionalExpression(mappingExpression.and(additionalExpressionCriteria())); return this; if(shouldUseOuterJoin()) { normalizer.getStatement().getOuterJoinExpressions().addElement(this); normalizer.getStatement().getOuterJoinedMappingCriteria().addElement(mappingExpression); normalizer.getStatement().getOuterJoinedAdditionalJoinCriteria().addElement(additionalExpressionCriteriaMap()); normalizer.getStatement().getDescriptorsForMultitableInheritanceOnly().add(null); if (isUsingOuterJoinForMultitableInheritance()) { normalizer.getStatement().getOuterJoinExpressions().addElement(null); normalizer.getStatement().getOuterJoinedMappingCriteria().addElement(null); normalizer.getStatement().getOuterJoinedAdditionalJoinCriteria().addElement(additionalExpressionCriteriaMap()); normalizer.getStatement().getDescriptorsForMultitableInheritanceOnly().add(getMapping().getReferenceDescriptor());
normalizer.getStatement().getOuterJoinedMappingCriteria().addElement(null); normalizer.getStatement().getOuterJoinedAdditionalJoinCriteria().addElement(additionalExpressionCriteriaMap()); normalizer.getStatement().getDescriptorsForMultitableInheritanceOnly().add(this.getDescriptor());