@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression( ExpressionFactory factory, CriteriaQueryImpl<?> q) { return factory.equal( Expressions.toValue(e, factory, q), factory.getNull()); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression( ExpressionFactory factory, CriteriaQueryImpl<?> q) { return factory.equal( Expressions.toValue(e, factory, q), factory.getNull()); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression( ExpressionFactory factory, CriteriaQueryImpl<?> q) { return factory.equal( Expressions.toValue(e, factory, q), factory.getNull()); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression( ExpressionFactory factory, CriteriaQueryImpl<?> q) { return factory.equal( Expressions.toValue(e, factory, q), factory.getNull()); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression(ExpressionFactory factory, CriteriaQueryImpl<?> q){ Value val1 = Expressions.toValue(e1, factory, q); Value val2 = Expressions.toValue(e2, factory, q); Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q); return factory.equal(val1, val2); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression(ExpressionFactory factory, CriteriaQueryImpl<?> q){ Value val1 = Expressions.toValue(e1, factory, q); Value val2 = Expressions.toValue(e2, factory, q); Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q); return factory.equal(val1, val2); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression(ExpressionFactory factory, CriteriaQueryImpl<?> q){ Value val1 = Expressions.toValue(e1, factory, q); Value val2 = Expressions.toValue(e2, factory, q); Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q); return factory.equal(val1, val2); }
@Override org.apache.openjpa.kernel.exps.Expression toKernelExpression(ExpressionFactory factory, CriteriaQueryImpl<?> q){ Value val1 = Expressions.toValue(e1, factory, q); Value val2 = Expressions.toValue(e2, factory, q); Expressions.setImplicitTypes(val1, val2, e1.getJavaType(), q); return factory.equal(val1, val2); }
/** * Adds a join condition to the given expression. * * @param node the node to check * @param inner whether or not the join should be an inner join * @param exp an existing expression to AND, or null if none * @return the Expression with the join condition added */ private Expression addJoin(JPQLNode node, boolean inner, Expression exp) { // the type will be the declared type for the field Path path = getPath(firstChild(node), false, inner); JPQLNode alias = node.getChildCount() >= 2 ? right(node) : null; // OPENJPA-15 support subquery's from clause do not start with // identification_variable_declaration() if (inner && ctx().subquery != null && ctx().schemaAlias == null) { setCandidate(getFieldType(path.last()), alias.text); Path subpath = factory.newPath(ctx().subquery); subpath.setMetaData(ctx().subquery.getMetaData()); exp = and(exp, factory.equal(path, subpath)); } return addJoin(path, alias, exp); }
private Expression getSubquery(String alias, Path path, Expression exp) { Value var = getVariable(alias, true); // this bind is for validateMapPath to resolve alias Expression bindVar = factory.bindVariable(var, path); FieldMetaData fmd = path.last(); ClassMetaData candidate = getFieldType(fmd); if (candidate == null && fmd.isElementCollection()) candidate = fmd.getDefiningMetaData(); setCandidate(candidate, alias); Context subContext = ctx(); Subquery subquery = ctx().getSubquery(); if (subquery == null){ subquery = factory.newSubquery(candidate, true, alias); subContext.setSubquery(subquery); } else { subquery.setSubqAlias(alias); } Path subpath = factory.newPath(subquery); subpath.setSchemaAlias(path.getCorrelationVar()); subpath.setMetaData(candidate); subquery.setMetaData(candidate); if (fmd.isElementCollection()) exp = and(exp, bindVar); else exp = and(exp, factory.equal(path, subpath)); return exp; }
private Expression getSubquery(String alias, Path path, Expression exp) { Value var = getVariable(alias, true); // this bind is for validateMapPath to resolve alias Expression bindVar = factory.bindVariable(var, path); FieldMetaData fmd = path.last(); ClassMetaData candidate = getFieldType(fmd); if (candidate == null && fmd.isElementCollection()) candidate = fmd.getDefiningMetaData(); setCandidate(candidate, alias); Context subContext = ctx(); Subquery subquery = ctx().getSubquery(); if (subquery == null){ subquery = factory.newSubquery(candidate, true, alias); subContext.setSubquery(subquery); } else { subquery.setSubqAlias(alias); } Path subpath = factory.newPath(subquery); subpath.setSchemaAlias(path.getCorrelationVar()); subpath.setMetaData(candidate); subquery.setMetaData(candidate); if (fmd.isElementCollection()) exp = and(exp, bindVar); else exp = and(exp, factory.equal(path, subpath)); return exp; }
private Expression getSubquery(String alias, Path path, Expression exp) { Value var = getVariable(alias, true); // this bind is for validateMapPath to resolve alias Expression bindVar = factory.bindVariable(var, path); FieldMetaData fmd = path.last(); ClassMetaData candidate = getFieldType(fmd); if (candidate == null && fmd.isElementCollection()) candidate = fmd.getDefiningMetaData(); setCandidate(candidate, alias); Context subContext = ctx(); Subquery subquery = ctx().getSubquery(); if (subquery == null){ subquery = factory.newSubquery(candidate, true, alias); subContext.setSubquery(subquery); } else { subquery.setSubqAlias(alias); } Path subpath = factory.newPath(subquery); subpath.setSchemaAlias(path.getCorrelationVar()); subpath.setMetaData(candidate); subquery.setMetaData(candidate); if (fmd.isElementCollection()) exp = and(exp, bindVar); else exp = and(exp, factory.equal(path, subpath)); return exp; }
private Expression getSubquery(String alias, Path path, Expression exp) { Value var = getVariable(alias, true); // this bind is for validateMapPath to resolve alias Expression bindVar = factory.bindVariable(var, path); FieldMetaData fmd = path.last(); ClassMetaData candidate = getFieldType(fmd); if (candidate == null && fmd.isElementCollection()) candidate = fmd.getDefiningMetaData(); setCandidate(candidate, alias); Context subContext = ctx(); Subquery subquery = ctx().getSubquery(); if (subquery == null){ subquery = factory.newSubquery(candidate, true, alias); subContext.setSubquery(subquery); } else { subquery.setSubqAlias(alias); } Path subpath = factory.newPath(subquery); subpath.setSchemaAlias(path.getCorrelationVar()); subpath.setMetaData(candidate); subquery.setMetaData(candidate); if (fmd.isElementCollection()) exp = and(exp, bindVar); else exp = and(exp, factory.equal(path, subpath)); return exp; }
filter = factory.equal(parentPath, path); return Expressions.and(factory, expr, filter);
filter = factory.equal(parentPath, path); return Expressions.and(factory, expr, filter);
return and(exp, factory.equal(path, subpath)); } else {
filter = factory.equal(parentPath, path); return Expressions.and(factory, expr, filter);
filter = Expressions.and(factory, join, filter); } else { filter = factory.equal(parentPath, path);
filter = Expressions.and(factory, join, filter); } else { filter = factory.equal(parentPath, path);
filter = Expressions.and(factory, join, filter); } else { filter = factory.equal(parentPath, path);