org.eclipse.persistence.queries
Class ResultSetMappingQuery
java.lang.Object
org.eclipse.persistence.queries.DatabaseQuery
org.eclipse.persistence.queries.ReadQuery
org.eclipse.persistence.queries.ObjectBuildingQuery
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
Fields inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery |
DEFAULT_LOCK_MODE, executionTime, isCacheCheckComplete, LOCK, LOCK_NOWAIT, LOCK_RESULT_PROPERTY, lockingClause, NO_LOCK, referenceClass, referenceClassName, requiresDeferredLocks, shouldBuildNullForNullPk, shouldRefreshIdentityMapResult, shouldRefreshRemoteIdentityMapResult, shouldRegisterResultsInUnitOfWork, shouldUseExclusiveConnection, wasDefaultLockMode |
Fields inherited from class org.eclipse.persistence.queries.DatabaseQuery |
accessors, allowNativeSQLQuery, argumentFields, argumentParameterTypes, arguments, argumentTypeNames, argumentTypes, argumentValues, BATCH_FETCH_PROPERTY, CascadeAggregateDelete, CascadeAllParts, CascadeByMapping, CascadeDependentParts, cascadePolicy, CascadePrivateParts, descriptor, descriptors, doNotRedirect, executionSession, flushOnExecute, hintString, isCustomQueryUsed, isExecutionClone, isNativeConnectionRequired, isPrepared, isUserDefined, isUserDefinedSQLCall, monitorName, name, NoCascading, nullableArguments, parameterDelimiter, partitioningPolicy, properties, queryMechanism, queryTimeout, redirector, session, sessionName, shouldBindAllParameters, shouldCacheStatement, shouldCloneCall, shouldMaintainCache, shouldPrepare, shouldRetrieveBypassCache, shouldStoreBypassCache, shouldUseWrapperPolicy, shouldValidateUpdateCallCacheUse, sourceMapping, translationRow |
Method Summary |
void |
addSQLResultSetMapping(SQLResultSetMapping resultSetMapping)
PUBLIC:
This will be the SQLResultSetMapping that is used by this query to process
the database results |
void |
addSQLResultSetMappingName(java.lang.String name)
PUBLIC:
Add a SQLResultSetMapping that is used by this query to process the
database results. |
java.util.List |
buildObjectsFromRecords(java.util.List databaseRecords)
INTERNAL:
This method is used to build the results. |
java.util.List |
buildObjectsFromRecords(java.util.List databaseRecords,
int index)
INTERNAL:
This method is used to build the results with the SQLResultSetMapping
at the given index. |
protected java.util.List |
buildObjectsFromRecords(java.util.List databaseRecords,
SQLResultSetMapping mapping)
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. |
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. |
java.util.List<java.lang.String> |
getSQLResultSetMappingNames()
PUBLIC:
Return the result set mapping name. |
java.util.List<SQLResultSetMapping> |
getSQLResultSetMappings()
PUBLIC:
This will be the SQLResultSetMapping that is used by this query to process
the database results |
boolean |
hasResultSetMappings()
PUBLIC:
Return true if there are results set mappings associated with this query. |
boolean |
isResultSetMappingQuery()
PUBLIC: Return true if this is a result set mapping query. |
protected void |
prepare()
INTERNAL:
Prepare the receiver for execution in a session. |
void |
setIsExecuteCall(boolean isExecuteCall)
PUBLIC:
Set to true if you the actual jdbc result set returned from query
execution. |
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 |
void |
setSQLResultSetMappingNames(java.util.List<java.lang.String> names)
PUBLIC:
This will be the SQLResult |
void |
setSQLResultSetMappings(java.util.List<SQLResultSetMapping> resultSetMappings)
PUBLIC:
This will be the SQLResultSetMappings that are used by this query to
process the database results |
Methods inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery |
clone, clonedQueryExecutionComplete, copyFromQuery, deepClone, dontRefreshIdentityMapResult, dontRefreshRemoteIdentityMapResult, getDataResults, getExecutionFetchGroup, getExecutionFetchGroup, getExecutionTime, getLoadGroup, getLockMode, getQueryPrimaryKey, getReferenceClass, getReferenceClassName, hasExecutionFetchGroup, hasPartialAttributeExpressions, isAttributeJoined, isCacheCheckComplete, isClonePessimisticLocked, isDefaultLock, isLockQuery, isObjectBuildingQuery, isRegisteringResults, postRegisterIndividualResult, prepareCustomQuery, prepareFromQuery, recordCloneForPessimisticLocking, refreshIdentityMapResult, refreshRemoteIdentityMapResult, registerIndividualResult, requiresDeferredLocks, setExecutionTime, setLockMode, setReferenceClass, setReferenceClassName, setRequiresDeferredLocks, setShouldBuildNullForNullPk, setShouldRefreshIdentityMapResult, setShouldRefreshRemoteIdentityMapResult, setShouldRegisterResultsInUnitOfWork, setShouldUseExclusiveConnection, setWasDefaultLockMode, shouldBuildNullForNullPk, shouldReadAllMappings, shouldReadMapping, shouldRefreshIdentityMapResult, shouldRefreshRemoteIdentityMapResult, shouldRegisterResultsInUnitOfWork, shouldUseExclusiveConnection, usesResultSetAccessOptimization, wasDefaultLockMode |
Methods inherited from class org.eclipse.persistence.queries.ReadQuery |
buildObject, cacheQueryResults, clearQueryResults, doNotCacheQueryResults, getFetchSize, getFirstResult, getInternalMax, getMaxRows, getQueryId, getQueryResults, getQueryResults, getQueryResults, getQueryResultsCachePolicy, getTemporaryCachedQueryResults, isDefaultPropertiesQuery, isReadQuery, prepareForExecution, remoteExecute, setFetchSize, setFirstResult, setInternalMax, setMaxRows, setQueryId, setQueryResults, setQueryResultsCachePolicy, setTemporaryCachedQueryResults, shouldCacheQueryResults |
Methods inherited from class org.eclipse.persistence.queries.DatabaseQuery |
addArgument, addArgument, addArgument, addArgument, addArgument, addArgument, addArgumentByTypeName, addArgumentValue, addArgumentValues, addCall, addStatement, bindAllParameters, buildArgumentFields, buildSelectionCriteria, cacheStatement, cascadeAllParts, cascadeByMapping, cascadeOnlyDependentParts, cascadePrivateParts, checkDescriptor, checkEarlyReturn, checkForCustomQuery, checkPrepare, checkPrepare, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, execute, executeInUnitOfWork, extractRemoteResult, getAccessor, getAccessors, getArgumentParameterTypes, getArguments, getArgumentTypeNames, getArgumentTypes, getArgumentValues, getBatchObjects, getCall, getCascadePolicy, getDatasourceCall, getDatasourceCalls, getDefaultRedirector, getDescriptor, getDescriptors, getDomainClassNounName, getDoNotRedirect, getEJBQLString, getExecutionSession, getFlushOnExecute, getHintString, getJPQLString, getMonitorName, getName, getNullableArguments, getParameterDelimiter, getParameterDelimiterChar, getPartitioningPolicy, getProperties, getProperty, getQueryMechanism, getQueryNounName, getQueryTimeout, getRedirector, getRedirectorForQuery, getSelectionCriteria, getSensorName, getSession, getSessionName, getShouldBindAllParameters, getSourceMapping, getSQLStatement, getSQLString, getSQLStrings, getTranslatedSQLString, getTranslatedSQLStrings, getTranslationRow, hasAccessor, hasArguments, hasNullableArguments, hasProperties, hasQueryMechanism, hasSessionName, ignoreBindAllParameters, ignoreCacheStatement, isCallQuery, isCascadeOfAggregateDelete, isCustomQueryUsed, isCustomSelectionQuery, isDataModifyQuery, isDataReadQuery, isDeleteAllQuery, isDeleteObjectQuery, isDirectReadQuery, isExecutionClone, isExpressionQuery, isInsertObjectQuery, isJPQLCallQuery, isModifyAllQuery, isModifyQuery, isNativeConnectionRequired, isObjectLevelModifyQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReportQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isUserDefinedSQLCall, isValueReadQuery, isWriteObjectQuery, maintainCache, prepareCall, prepareForRemoteExecution, prepareInternal, redirectQuery, remoteExecute, removeProperty, replaceValueHoldersIn, resetMonitorName, retrieveBypassCache, rowFromArguments, setAccessor, setAccessors, setAllowNativeSQLQuery, setArguments, setArgumentTypeNames, setArgumentTypes, setArgumentValues, setBatchObjects, setCall, setCascadePolicy, setDatasourceCall, setDescriptor, setDoNotRedirect, setEJBQLString, setExecutionSession, setFlushOnExecute, setHintString, setIsCustomQueryUsed, setIsExecutionClone, setIsNativeConnectionRequired, setIsPrepared, setIsUserDefined, setIsUserDefinedSQLCall, setJPQLString, setName, setNullableArguments, setParameterDelimiter, setPartitioningPolicy, setProperties, setProperty, setQueryMechanism, setQueryTimeout, setRedirector, setSelectionCriteria, setSession, setSessionName, setShouldBindAllParameters, setShouldBindAllParameters, setShouldCacheStatement, setShouldMaintainCache, setShouldPrepare, setShouldRetrieveBypassCache, setShouldStoreBypassCache, setShouldUseWrapperPolicy, setShouldValidateUpdateCallCacheUse, setSourceMapping, setSQLStatement, setSQLString, setTranslationRow, shouldAllowNativeSQLQuery, shouldBindAllParameters, shouldCacheStatement, shouldCascadeAllParts, shouldCascadeByMapping, shouldCascadeOnlyDependentParts, shouldCascadeParts, shouldCascadePrivateParts, shouldCloneCall, shouldIgnoreBindAllParameters, shouldIgnoreCacheStatement, shouldMaintainCache, shouldPrepare, shouldPrepare, shouldRetrieveBypassCache, shouldStoreBypassCache, shouldUseWrapperPolicy, shouldValidateUpdateCallCacheUse, storeBypassCache, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
isExecuteCall
protected boolean isExecuteCall
resultRows
protected java.util.Vector resultRows
resultSetMappingNames
protected java.util.List<java.lang.String> resultSetMappingNames
resultSetMappings
protected java.util.List<SQLResultSetMapping> resultSetMappings
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
addSQLResultSetMapping
public void addSQLResultSetMapping(SQLResultSetMapping resultSetMapping)
- PUBLIC:
This will be the SQLResultSetMapping that is used by this query to process
the database results
addSQLResultSetMappingName
public void addSQLResultSetMappingName(java.lang.String name)
- PUBLIC:
Add a SQLResultSetMapping that is used by this query to process the
database results.
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
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
setSQLResultSetMapping
public void setSQLResultSetMapping(SQLResultSetMapping resultSetMapping)
- PUBLIC:
This will be the SQLResultSetMapping that is used by this query to process
the database results
setSQLResultSetMappings
public void setSQLResultSetMappings(java.util.List<SQLResultSetMapping> resultSetMappings)
- PUBLIC:
This will be the SQLResultSetMappings that are 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
setSQLResultSetMappingNames
public void setSQLResultSetMappingNames(java.util.List<java.lang.String> names)
- PUBLIC:
This will be the SQLResult
- Parameters:
names
-
buildObjectsFromRecords
public java.util.List buildObjectsFromRecords(java.util.List databaseRecords)
- INTERNAL:
This method is used to build the results. Interpreting the
SQLResultSetMapping(s).
buildObjectsFromRecords
public java.util.List buildObjectsFromRecords(java.util.List databaseRecords,
int index)
- INTERNAL:
This method is used to build the results with the SQLResultSetMapping
at the given index.
buildObjectsFromRecords
protected java.util.List buildObjectsFromRecords(java.util.List databaseRecords,
SQLResultSetMapping mapping)
- 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.
hasResultSetMappings
public boolean hasResultSetMappings()
- PUBLIC:
Return true if there are results set mappings associated with this query.
isResultSetMappingQuery
public boolean isResultSetMappingQuery()
- PUBLIC: Return true if this is a result set mapping query.
- Overrides:
isResultSetMappingQuery
in class DatabaseQuery
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
getSQLResultSetMappings
public java.util.List<SQLResultSetMapping> getSQLResultSetMappings()
- 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.
getSQLResultSetMappingNames
public java.util.List<java.lang.String> getSQLResultSetMappingNames()
- PUBLIC:
Return the result set mapping name.
setIsExecuteCall
public void setIsExecuteCall(boolean isExecuteCall)
- PUBLIC:
Set to true if you the actual jdbc result set returned from query
execution. This will unprepare the query in case it was executed
previously for a getResultList() call instead (or vice versa)