/** * INTERNAL: * Get the ref for the object. * This is required for use by Refs, there might be a better way to do it when objID are supported. * (i.e. getting it from the object or identity map). */ public Ref getRef(Object object, AbstractSession session) { SQLSelectStatement statement = new SQLSelectStatement(); statement.addTable(getTables().firstElement());// Assumed only one for obj-rel descriptors. statement.getFields().addElement(new org.eclipse.persistence.expressions.ExpressionBuilder().ref()); statement.setWhereClause(getObjectBuilder().buildPrimaryKeyExpressionFromObject(object, session)); statement.setRequiresAliases(true); statement.normalize(session, this); ValueReadQuery valueQuery = new ValueReadQuery(); valueQuery.setSQLStatement(statement); valueQuery.checkPrepare(session, new DatabaseRecord(), true); // Must return unwrapped Ref on WLS. valueQuery.getCall().setIsNativeConnectionRequired(true); Ref ref = (Ref)session.executeQuery(valueQuery); return ref; }
/** * INTERNAL: * Get the ref for the object. * This is required for use by Refs, there might be a better way to do it when objID are supported. * (i.e. getting it from the object or identity map). */ public Ref getRef(Object object, AbstractSession session) { SQLSelectStatement statement = new SQLSelectStatement(); statement.addTable(getTables().firstElement());// Assumed only one for obj-rel descriptors. statement.getFields().addElement(new org.eclipse.persistence.expressions.ExpressionBuilder().ref()); statement.setWhereClause(getObjectBuilder().buildPrimaryKeyExpressionFromObject(object, session)); statement.setRequiresAliases(true); statement.normalize(session, this); ValueReadQuery valueQuery = new ValueReadQuery(); valueQuery.setSQLStatement(statement); valueQuery.checkPrepare(session, new DatabaseRecord(), true); // Must return unwrapped Ref on WLS. valueQuery.getCall().setIsNativeConnectionRequired(true); Ref ref = (Ref)session.executeQuery(valueQuery); return ref; }
/** * INTERNAL: */ protected Object select(Accessor accessor, AbstractSession writeSession, String seqName, Integer size) { ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { // PERF: Prepare the query before being cloned. // Also BUG: SQLCall could not be prepared concurrently by different queries. // Setting user define allow custom SQL query to be prepared without translation row. query.setIsUserDefined(true); query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } } else { query = buildSelectQuery(seqName, size); if (accessor != null) { query.setAccessor(accessor); } } Vector args = createArguments(query, seqName, size); if (args != null) { return writeSession.executeQuery(query, args); } else { return writeSession.executeQuery(query); } }
/** * INTERNAL: */ protected Object select(Accessor accessor, AbstractSession writeSession, String seqName, Integer size) { ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { // PERF: Prepare the query before being cloned. // Also BUG: SQLCall could not be prepared concurrently by different queries. // Setting user define allow custom SQL query to be prepared without translation row. query.setIsUserDefined(true); query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } } else { query = buildSelectQuery(seqName, size); if (accessor != null) { query.setAccessor(accessor); } } Vector args = createArguments(query, seqName, size); query.setIsUserDefinedSQLCall(false); if (args != null) { return writeSession.executeQuery(query, args); } else { return writeSession.executeQuery(query); } }
/** * INTERNAL: */ protected Object select(Accessor accessor, AbstractSession writeSession, String seqName, Integer size) { ValueReadQuery query = getSelectQuery(); if (query != null) { if (accessor != null) { // PERF: Prepare the query before being cloned. // Also BUG: SQLCall could not be prepared concurrently by different queries. // Setting user define allow custom SQL query to be prepared without translation row. query.setIsUserDefined(true); query.checkPrepare(writeSession, null); query = (ValueReadQuery)query.clone(); query.setAccessor(accessor); } } else { query = buildSelectQuery(seqName, size); if (accessor != null) { query.setAccessor(accessor); } } Vector args = createArguments(query, seqName, size); query.setIsUserDefinedSQLCall(false); if (args != null) { return writeSession.executeQuery(query, args); } else { return writeSession.executeQuery(query); } }