public ParameterExpressionImpl(Metamodel metamodel, Class<T> javaType, String name){ super(metamodel, javaType, new ExpressionBuilder().getParameter(name, javaType)); this.name = name; this.internalName = name; }
/** * INTERNAL: * Return the selection criteria used to IN batch fetching. */ public Expression buildBatchCriteria(ExpressionBuilder builder,Expression field) { return field.in( builder.getParameter(ForeignReferenceMapping.QUERY_BATCH_PARAMETER)); }
/** * INTERNAL: * Return the selection criteria used to IN batch fetching. */ public Expression buildBatchCriteria(ExpressionBuilder builder,Expression field) { return field.in( builder.getParameter(ForeignReferenceMapping.QUERY_BATCH_PARAMETER)); }
public ParameterExpressionImpl(Metamodel metamodel, Class<T> javaType){ super(metamodel, javaType, null); this.internalName = String.valueOf(System.identityHashCode(this)); this.currentNode = new ExpressionBuilder().getParameter(this.internalName, javaType); }
public ParameterExpressionImpl(Metamodel metamodel, Class<T> javaType, Integer position){ super(metamodel, javaType, new ExpressionBuilder().getParameter(position.toString(), javaType)); this.position = position; }
/** * INTERNAL: * Return the selection criteria used to IN batch fetching. */ public Expression buildBatchCriteriaForComplexId(ExpressionBuilder builder,List<Expression> fields) { return builder.value(fields).in( builder.getParameter(ForeignReferenceMapping.QUERY_BATCH_PARAMETER)); }
/** * INTERNAL: * Return the selection criteria used to IN batch fetching. */ public Expression buildBatchCriteriaForComplexId(ExpressionBuilder builder,List<Expression> fields) { return builder.value(fields).in( builder.getParameter(ForeignReferenceMapping.QUERY_BATCH_PARAMETER)); }
/** * INTERNAL: * returns the expression to be used in both the delete and update where clause. */ protected Expression buildExpression(DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow, ExpressionBuilder builder) { Expression exp = null; DatabaseField field; Enumeration enumtr = getFieldsToCompare(table, transRow, modifyRow).elements(); if (enumtr.hasMoreElements()) { field = (DatabaseField)enumtr.nextElement();//First element exp = builder.getField(field).equal(builder.getParameter(field)); } while (enumtr.hasMoreElements()) { field = (DatabaseField)enumtr.nextElement(); exp = exp.and(builder.getField(field).equal(builder.getParameter(field))); } return exp; }
/** * Build the primary key expression for the secondary table. */ public Expression buildPrimaryKeyExpression(DatabaseTable table) throws DescriptorException { if (this.descriptor.getTables().firstElement().equals(table)) { return getPrimaryKeyExpression(); } Map keyMapping = this.descriptor.getAdditionalTablePrimaryKeyFields().get(table); if (keyMapping == null) { throw DescriptorException.multipleTablePrimaryKeyNotSpecified(this.descriptor); } ExpressionBuilder builder = new ExpressionBuilder(); Expression expression = null; for (Iterator primaryKeyEnum = keyMapping.values().iterator(); primaryKeyEnum.hasNext();) { DatabaseField field = (DatabaseField)primaryKeyEnum.next(); expression = (builder.getField(field).equal(builder.getParameter(field))).and(expression); } return expression; }
protected void initializeSelectionCriteria(AbstractSession session) { Expression criteria = null; ExpressionBuilder base = new ExpressionBuilder(); TableExpression table = (TableExpression)base.getTable(getReferenceTable()); Iterator<DatabaseField> referenceKeys = getReferenceKeyFields().iterator(); Iterator<DatabaseField> sourceKeys = getSourceKeyFields().iterator(); while (referenceKeys.hasNext()) { DatabaseField referenceKey = referenceKeys.next(); DatabaseField sourceKey = sourceKeys.next(); Expression expression = table.getField(referenceKey).equal(base.getParameter(sourceKey)); if (criteria == null) { criteria = expression; } else { criteria = expression.and(criteria); } } setSelectionCriteria(criteria); }
protected Expression createWhereClauseForDeleteQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).equal(builder.getParameter(getDirectField())); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
protected Expression createWhereClauseForDeleteQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).equal(builder.getParameter(getDirectField())); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
protected Expression createWhereClauseForDeleteQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).equal(builder.getParameter(getDirectField())); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
protected void initializeSelectionCriteria(AbstractSession session) { Expression criteria = null; ExpressionBuilder base = new ExpressionBuilder(); TableExpression table = (TableExpression)base.getTable(getReferenceTable()); Iterator<DatabaseField> referenceKeys = getReferenceKeyFields().iterator(); Iterator<DatabaseField> sourceKeys = getSourceKeyFields().iterator(); while (referenceKeys.hasNext()) { DatabaseField referenceKey = referenceKeys.next(); DatabaseField sourceKey = sourceKeys.next(); Expression expression = table.getField(referenceKey).equal(base.getParameter(sourceKey)); if (criteria == null) { criteria = expression; } else { criteria = expression.and(criteria); } } setSelectionCriteria(criteria); }
/** * INTERNAL: * Returns an expression that will be used for both the update and * delete where clause */ protected Expression buildExpression() { ExpressionBuilder builder = new ExpressionBuilder(); return builder.getField(getWriteLockField()).equal(builder.getParameter(getWriteLockField())); }
/** * INTERNAL: * Returns an expression that will be used for both the update and * delete where clause */ protected Expression buildExpression() { ExpressionBuilder builder = new ExpressionBuilder(); return builder.getField(getWriteLockField()).equal(builder.getParameter(getWriteLockField())); }
protected Expression createWhereClauseForDeleteNullQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).isNull(); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
/** * INTERNAL: * Returns an expression that will be used for both the update and * delete where clause */ protected Expression buildExpression() { ExpressionBuilder builder = new ExpressionBuilder(); return builder.getField(getWriteLockField()).equal(builder.getParameter(getWriteLockField())); }
protected Expression createWhereClauseForDeleteNullQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).isNull(); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
protected void initializeDeleteAtIndexQuery(AbstractSession session) { if (!getDeleteAtIndexQuery().hasSessionName()) { getDeleteAtIndexQuery().setSessionName(session.getName()); } if (hasCustomDeleteAtIndexQuery()) { return; } SQLDeleteStatement statement = new SQLDeleteStatement(); ExpressionBuilder builder = new ExpressionBuilder(); Expression expression = createWhereClauseForDeleteQuery(builder); expression = expression.and(builder.getField(this.listOrderField).equal(builder.getParameter(this.listOrderField))); statement.setWhereClause(expression); statement.setTable(getReferenceTable()); getDeleteAtIndexQuery().setSQLStatement(statement); }