/** * INTERNAL: */ public Expression newDerivedField(DatabaseField field) { FieldExpression result = new FieldExpression(field, this); addDerivedField(result); return result; }
/** * INTERNAL: */ public Expression newDerivedField(DatabaseField field) { FieldExpression result = new FieldExpression(field, this); addDerivedField(result); return result; }
/** * INTERNAL: */ public Expression newDerivedField(DatabaseField field) { FieldExpression result = new FieldExpression(field, this); addDerivedField(result); return result; }
/** * INTERNAL: * This expression is built on a different base than the one we want. Rebuild it and * return the root of the new tree */ public Expression rebuildOn(Expression newBase) { FieldExpression expression = new FieldExpression(getField(), getBaseExpression().rebuildOn(newBase)); expression.setSelectIfOrderedBy(selectIfOrderedBy()); return expression; }
baseExpressions.add(new FieldExpression((DatabaseField)fields.elementAt(i), ((QueryKeyExpression)baseExpression).getBaseExpression()));
List<DatabaseField> nestedFields = nestedQuery.getFetchGroupSelectionFields(mapping); for(DatabaseField field : nestedFields) { fields.add(new FieldExpression(field, expression));
baseExpressions.add(new FieldExpression((DatabaseField)fields.elementAt(i), ((QueryKeyExpression)baseExpression).getBaseExpression()));
baseExpressions.add(new FieldExpression((DatabaseField)fields.elementAt(i), ((QueryKeyExpression)baseExpression).getBaseExpression()));
List<DatabaseField> nestedFields = nestedQuery.getFetchGroupSelectionFields(mapping); for(DatabaseField field : nestedFields) { fields.add(new FieldExpression(field, expression));
/** * INTERNAL: * This expression is built on a different base than the one we want. Rebuild it and * return the root of the new tree */ public Expression rebuildOn(Expression newBase) { DatabaseField field = getField(); ClassDescriptor descriptor = null; // Check for possible table per class rebuild and translate fields to correct table. // TODO: JPA also allows for field to be renamed in subclasses, this needs to account for that (never has...). if (getBaseExpression().isExpressionBuilder() && newBase.isObjectExpression()) { if (((ObjectExpression)newBase).getSession() != null) { descriptor = ((ObjectExpression)newBase).getDescriptor(); } if ((descriptor != null) && descriptor.hasTablePerClassPolicy()) { field = field.clone(); field.setTable(descriptor.getDefaultTable()); } } FieldExpression expression = new FieldExpression(field, getBaseExpression().rebuildOn(newBase)); expression.setSelectIfOrderedBy(selectIfOrderedBy()); return expression; }
/** * INTERNAL: * This expression is built on a different base than the one we want. Rebuild it and * return the root of the new tree */ public Expression rebuildOn(Expression newBase) { DatabaseField field = getField(); ClassDescriptor descriptor = null; // Check for possible table per class rebuild and translate fields to correct table. // TODO: JPA also allows for field to be renamed in subclasses, this needs to account for that (never has...). if (getBaseExpression().isExpressionBuilder() && newBase.isObjectExpression()) { if (((ObjectExpression)newBase).getSession() != null) { descriptor = ((ObjectExpression)newBase).getDescriptor(); } if ((descriptor != null) && descriptor.hasTablePerClassPolicy()) { field = field.clone(); field.setTable(descriptor.getDefaultTable()); } } FieldExpression expression = new FieldExpression(field, getBaseExpression().rebuildOn(newBase)); expression.setSelectIfOrderedBy(selectIfOrderedBy()); return expression; }