EclipseLink1.0 - 20080707 API Reference

org.eclipse.persistence.queries
Class ResultSetMappingQuery

java.lang.Object
  extended by org.eclipse.persistence.queries.DatabaseQuery
      extended by org.eclipse.persistence.queries.ReadQuery
          extended by org.eclipse.persistence.queries.ObjectBuildingQuery
              extended by org.eclipse.persistence.queries.ResultSetMappingQuery
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class ResultSetMappingQuery
extends ObjectBuildingQuery

Purpose: Concrete class to perform read using raw SQL and the SQLResultSetMapping.

Responsibilities: Execute a selecting raw SQL string. Returns a List of results. Each item in the list will be another list consisting of the expected populated return types in the order they were specified in the SQLResultSetMapping

See Also:
SQLResultSetMapping, Serialized Form
Author:
Gordon Yorke
Since:
TopLink Java Essentials

Field Summary
protected  SQLResultSetMapping resultSetMapping
           
protected  java.lang.String resultSetMappingName
           
 
Fields inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery
DEFAULT_LOCK_MODE, executionTime, LOCK, LOCK_NOWAIT, LOCK_RESULT_PROPERTY, lockingClause, NO_LOCK, referenceClass, referenceClassName, shouldBuildNullForNullPk, shouldProcessResultsInUnitOfWork, shouldRefreshIdentityMapResult, shouldRefreshRemoteIdentityMapResult, shouldRegisterResultsInUnitOfWork, shouldUseExclusiveConnection, wasDefaultLockMode
 
Fields inherited from class org.eclipse.persistence.queries.ReadQuery
fetchSize, firstResult, maxRows, queryId, queryResultCachingPolicy, temporaryCachedQueryResults
 
Fields inherited from class org.eclipse.persistence.queries.DatabaseQuery
accessor, arguments, argumentTypeNames, argumentTypes, argumentValues, CascadeAggregateDelete, CascadeAllParts, CascadeByMapping, CascadeDependentParts, cascadePolicy, CascadePrivateParts, descriptor, doNotRedirect, executionSession, flushOnExecute, hintString, isCustomQueryUsed, isExecutionClone, isFromParseCache, isNativeConnectionRequired, isPrepared, isUserDefined, name, NoCascading, properties, queryMechanism, queryTimeout, redirector, session, sessionName, shouldBindAllParameters, shouldCacheStatement, shouldCloneCall, shouldMaintainCache, shouldPrepare, shouldUseWrapperPolicy, translationRow
 
Constructor Summary
ResultSetMappingQuery()
          PUBLIC: Initialize the state of the query.
ResultSetMappingQuery(Call call)
          PUBLIC: Initialize the query to use the specified call.
ResultSetMappingQuery(Call call, java.lang.String sqlResultSetMappingName)
          PUBLIC: Initialize the query to use the specified call and SQLResultSetMapping
 
Method Summary
protected  java.util.List buildObjectsFromRecords(java.util.List databaseRecords)
          INTERNAL: This method is used to build the results.
 void cacheResult(java.lang.Object unwrappedOriginal)
          INTERNAL: This method is called by the object builder when building an original.
 java.lang.Object clone()
          INTERNAL: Clone the query.
 void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
          INTERNAL: Convert all the class-name-based settings in this ResultSetMapping to actual class-based settings.
 java.lang.Object executeDatabaseQuery()
          INTERNAL: Executes the prepared query on the datastore.
 SQLResultSetMapping getSQLResultSetMapping()
          PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results
 java.lang.String getSQLResultSetMappingName()
          PUBLIC: Return the result set mapping name.
protected  void prepare()
          INTERNAL: Prepare the receiver for execution in a session.
 void setSQLResultSetMapping(SQLResultSetMapping resultSetMapping)
          PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results
 void setSQLResultSetMappingName(java.lang.String name)
          PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results
 
Methods inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery
copyFromQuery, deepClone, dontRefreshIdentityMapResult, dontRefreshRemoteIdentityMapResult, getDataResults, getExecutionTime, getFetchGroup, getLockMode, getReferenceClass, getReferenceClassName, hasPartialAttributeExpressions, isAttributeJoined, isClonePessimisticLocked, isDefaultLock, isLockQuery, isObjectBuildingQuery, isRegisteringResults, prepareFromQuery, recordCloneForPessimisticLocking, refreshIdentityMapResult, refreshRemoteIdentityMapResult, registerIndividualResult, setExecutionTime, setLockMode, setReferenceClass, setReferenceClassName, setShouldBuildNullForNullPk, setShouldProcessResultsInUnitOfWork, setShouldRefreshIdentityMapResult, setShouldRefreshRemoteIdentityMapResult, setShouldRegisterResultsInUnitOfWork, setShouldUseExclusiveConnection, setWasDefaultLockMode, shouldBuildNullForNullPk, shouldProcessResultsInUnitOfWork, shouldReadAllMappings, shouldReadMapping, shouldRefreshIdentityMapResult, shouldRefreshRemoteIdentityMapResult, shouldRegisterResultsInUnitOfWork, shouldUseExclusiveConnection, toString, wasDefaultLockMode
 
Methods inherited from class org.eclipse.persistence.queries.ReadQuery
buildObject, cacheQueryResults, clearQueryResults, clonedQueryExecutionComplete, doNotCacheQueryResults, getFetchSize, getFirstResult, getMaxRows, getQueryId, getQueryResults, getQueryResults, getQueryResults, getQueryResultsCachePolicy, getTemporaryCachedQueryResults, isDefaultPropertiesQuery, isReadQuery, prepareForExecution, remoteExecute, setFetchSize, setFirstResult, setMaxRows, setQueryId, setQueryResults, setQueryResults, setQueryResultsCachePolicy, setTemporaryCachedQueryResults, shouldCacheQueryResults
 
Methods inherited from class org.eclipse.persistence.queries.DatabaseQuery
addArgument, addArgument, addArgument, addArgumentByTypeName, addArgumentValue, addArgumentValues, addCall, addStatement, bindAllParameters, buildSelectionCriteria, cacheStatement, cascadeAllParts, cascadeByMapping, cascadeOnlyDependentParts, cascadePrivateParts, checkDescriptor, checkEarlyReturn, checkForCustomQuery, checkPrepare, checkPrepare, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, execute, executeInUnitOfWork, extractRemoteResult, getAccessor, getArguments, getArgumentTypeNames, getArgumentTypes, getArgumentValues, getCall, getCascadePolicy, getDatasourceCall, getDatasourceCalls, getDefaultRedirector, getDescriptor, getDomainClassNounName, getDoNotRedirect, getEJBQLString, getExecutionSession, getFlushOnExecute, getHintString, getJPQLString, getName, getProperties, getProperty, getQueryMechanism, getQueryNounName, getQueryTimeout, getRedirector, getSelectionCriteria, getSensorName, getSession, getSessionName, getShouldBindAllParameters, getSQLStatement, getSQLString, getSQLStrings, getTranslatedSQLString, getTranslatedSQLStrings, getTranslationRow, hasAccessor, hasArguments, hasProperties, hasQueryMechanism, hasSessionName, ignoreBindAllParameters, ignoreCacheStatement, isCallQuery, isCascadeOfAggregateDelete, isCustomQueryUsed, isCustomSelectionQuery, isDataModifyQuery, isDataReadQuery, isDeleteAllQuery, isDeleteObjectQuery, isDirectReadQuery, isExecutionClone, isExpressionQuery, isFromParseCache, isInsertObjectQuery, isModifyAllQuery, isModifyQuery, isNativeConnectionRequired, isObjectLevelModifyQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReportQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isValueReadQuery, isWriteObjectQuery, maintainCache, prepareCall, prepareCustomQuery, prepareForRemoteExecution, redirectQuery, remoteExecute, removeProperty, replaceValueHoldersIn, rowFromArguments, setAccessor, setArguments, setArgumentTypeNames, setArgumentTypes, setArgumentValues, setCall, setCascadePolicy, setDatasourceCall, setDescriptor, setDoNotRedirect, setEJBQLString, setExecutionSession, setFlushOnExecute, setHintString, setIsCustomQueryUsed, setIsExecutionClone, setIsFromParseCache, setIsNativeConnectionRequired, setIsPrepared, setIsUserDefined, setJPQLString, setName, setProperties, setProperty, setQueryMechanism, setQueryTimeout, setRedirector, setSelectionCriteria, setSession, setSessionName, setShouldBindAllParameters, setShouldBindAllParameters, setShouldCacheStatement, setShouldMaintainCache, setShouldPrepare, setShouldUseWrapperPolicy, setSQLStatement, setSQLString, setTranslationRow, shouldBindAllParameters, shouldCacheStatement, shouldCascadeAllParts, shouldCascadeByMapping, shouldCascadeOnlyDependentParts, shouldCascadeParts, shouldCascadePrivateParts, shouldCloneCall, shouldIgnoreBindAllParameters, shouldIgnoreCacheStatement, shouldMaintainCache, shouldPrepare, shouldUseWrapperPolicy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

resultSetMappingName

protected java.lang.String resultSetMappingName

resultSetMapping

protected SQLResultSetMapping resultSetMapping
Constructor Detail

ResultSetMappingQuery

public ResultSetMappingQuery()
PUBLIC: Initialize the state of the query.


ResultSetMappingQuery

public ResultSetMappingQuery(Call call)
PUBLIC: Initialize the query to use the specified call.


ResultSetMappingQuery

public ResultSetMappingQuery(Call call,
                             java.lang.String sqlResultSetMappingName)
PUBLIC: Initialize the query to use the specified call and SQLResultSetMapping

Method Detail

cacheResult

public void cacheResult(java.lang.Object unwrappedOriginal)
INTERNAL:

This method is called by the object builder when building an original. It will cause the original to be cached in the query results if the query is set to do so.

Specified by:
cacheResult in class ReadQuery

clone

public java.lang.Object clone()
INTERNAL: Clone the query.

Overrides:
clone in class DatabaseQuery

convertClassNamesToClasses

public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this ResultSetMapping to actual class-based settings. This method is used when converting a project that has been built with class names to a project with classes.

Overrides:
convertClassNamesToClasses in class ObjectBuildingQuery
Parameters:
classLoader -

setSQLResultSetMapping

public void setSQLResultSetMapping(SQLResultSetMapping resultSetMapping)
PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results


setSQLResultSetMappingName

public void setSQLResultSetMappingName(java.lang.String name)
PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results


buildObjectsFromRecords

protected java.util.List buildObjectsFromRecords(java.util.List databaseRecords)
INTERNAL: This method is used to build the results. Interpreting the SQLResultSetMapping.


executeDatabaseQuery

public java.lang.Object executeDatabaseQuery()
                                      throws DatabaseException
INTERNAL: Executes the prepared query on the datastore.

Specified by:
executeDatabaseQuery in class DatabaseQuery
Returns:
- the result of executing the query.
Throws:
DatabaseException - - an error has occurred on the database.

prepare

protected void prepare()
INTERNAL: Prepare the receiver for execution in a session.

Overrides:
prepare in class ReadQuery

getSQLResultSetMapping

public SQLResultSetMapping getSQLResultSetMapping()
PUBLIC: This will be the SQLResultSetMapping that is used by this query to process the database results


getSQLResultSetMappingName

public java.lang.String getSQLResultSetMappingName()
PUBLIC: Return the result set mapping name.


EclipseLink1.0 - 20080707 API Reference