Package org.apache.openjpa.jdbc.sql

Examples of org.apache.openjpa.jdbc.sql.Joins


            field.getDefiningMapping(), store);

        // order first, then select so that if the projection introduces
        // additional ordering, it will be after our required ordering
        field.orderLocal(sel, elem, null);
        Joins joins = joinElementRelation(sel.newJoins(), elem);
        field.orderRelation(sel, elem, joins);
        selectElement(sel, elem, store, fetch, eagerMode, joins);
        return joins;
    }
View Full Code Here


        sel.selectPrimaryKey(field.getDefiningMapping());
        // set a variable name that does not conflict with any in the query;
        // using a variable guarantees that the selected data will use different
        // aliases and joins than any existing WHERE conditions on this field
        // that might otherwise limit the relations that match
        Joins joins = sel.newJoins().setVariable("*");
        eagerJoin(joins, cls, true);
        sel.select(cls, field.getSelectSubclasses(), store, fetch, eagerMode,
            joins);
    }
View Full Code Here

        throws SQLException {
        // do same joins as for load
        //### cheat: we know typical result joins only care about the relation
        //### path; thus we can ignore different mappings
        ClassMapping[] clss = field.getIndependentTypeMappings();
        Joins joins = res.newJoins().setVariable("*");
        eagerJoin(joins, clss[0], true);

        Map rels = new HashMap();
        ClassMapping owner = field.getDefiningMapping();
        ClassMapping cls;
View Full Code Here

        if (havingExp != null)
            state.having = havingExp.initialize(sel, ctx, contains);

        // get the top-level joins and null the expression's joins
        // at the same time so they aren't included in the where/having SQL
        Joins filterJoins = state.filter.joins;
        Joins havingJoins = (state.having == null) ? null : state.having.joins;
        Joins joins = sel.and(filterJoins, havingJoins);

        // initialize result values
        if (exps.projections.length > 0) {
            state.projections = new ExpState[exps.projections.length];
            Val resultVal;
View Full Code Here

    public void select(Select sel, ExpContext ctx, ClassMapping mapping,
        boolean subclasses, QueryExpressions exps, QueryExpressionsState state,
        int eager) {
        Select inner = sel.getFromSelect();
        Val val;
        Joins joins = null;
        if (sel.getSubselectPath() != null)
            joins = sel.newJoins().setSubselect(sel.getSubselectPath());

        // build ordering clauses before select so that any eager join
        // ordering gets applied after query ordering
View Full Code Here

     */
    public Joins join(Select sel) {
        if (_fk == null)
            return null;

        Joins joins = sel.newJoins();
        if (_outer)
            return joins.outerJoin(_fk, true, false);
        return joins.join(_fk, true, false);
    }
View Full Code Here

        // add class conditions so that they're cloned for any batched selects
        boolean joinedSupers = false;
        if ((sm == null || sm.getPCState() == PCState.TRANSIENT)
            && (subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE)) {
            loadSubclasses(mapping);
            Joins joins = (outer) ? sel.newOuterJoins() : null;
            joinedSupers = mapping.getDiscriminator().addClassConditions(sel,
                subs == Select.SUBS_JOINABLE, joins);
        }

        // create all our eager selects so that those fields are reserved
View Full Code Here

    public void setImplicitType(Class type) {
    }

    public ExpState initialize(Select sel, ExpContext ctx, int flags) {
        ExpState[] states = new ExpState[_args.length];
        Joins joins = null;
        for (int i = 0; i < _args.length; i++) {
            states[i] = _args[i].initialize(sel, ctx, flags);
            if (joins == null)
                joins = states[i].joins;
            else
View Full Code Here

        ExpState argState = null;
        if (_target != null)
            targetState = _target.initialize(sel, ctx, JOIN_REL);
        if (_arg != null)
            argState = _arg.initialize(sel, ctx, JOIN_REL);
        Joins j1 = (targetState == null) ? null : targetState.joins;
        Joins j2 = (argState == null) ? null : argState.joins;
        return new ExtensionExpState(sel.and(j1, j2), targetState,
            argState);
    }
View Full Code Here

        // add class conditions so that they're cloned for any batched selects
        boolean joinedSupers = false;
        if ((sm == null || sm.getPCState() == PCState.TRANSIENT)
            && (subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE)) {
            loadSubclasses(mapping);
            Joins joins = (outer) ? sel.newOuterJoins() : null;
            joinedSupers = mapping.getDiscriminator().addClassConditions(sel,
                subs == Select.SUBS_JOINABLE, joins);
        }

        // create all our eager selects so that those fields are reserved
View Full Code Here

TOP

Related Classes of org.apache.openjpa.jdbc.sql.Joins

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.