|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.queries.DatabaseQuery
org.eclipse.persistence.queries.ReadQuery
org.eclipse.persistence.queries.ObjectBuildingQuery
org.eclipse.persistence.queries.ObjectLevelReadQuery
org.eclipse.persistence.queries.ReadObjectQuery
public class ReadObjectQuery
Purpose: Concrete class for all read queries involving a single object.
Responsibilities: Return a single object for the query. Implements the inheritance feature when dealing with abstract descriptors.
Field Summary |
---|
Fields inherited from class org.eclipse.persistence.queries.ObjectLevelReadQuery |
---|
CheckCacheByExactPrimaryKey, CheckCacheByPrimaryKey, CheckCacheOnly, CheckCacheThenDatabase, ConformResultsInUnitOfWork, DoNotCheckCache, DONT_USE_DISTINCT, NONE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_, PESSIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, READ, UNCOMPUTED_DISTINCT, USE_DISTINCT, UseDescriptorSetting, WRITE |
Fields inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery |
---|
DEFAULT_LOCK_MODE, LOCK, LOCK_NOWAIT, LOCK_RESULT_PROPERTY, NO_LOCK |
Fields inherited from class org.eclipse.persistence.queries.DatabaseQuery |
---|
CascadeAggregateDelete, CascadeAllParts, CascadeByMapping, CascadeDependentParts, CascadePrivateParts, NoCascading |
Constructor Summary | |
---|---|
ReadObjectQuery()
PUBLIC: Return a new read object query. |
|
ReadObjectQuery(Call call)
PUBLIC: Return a new read object query. |
|
ReadObjectQuery(java.lang.Class classToRead)
PUBLIC: Return a new read object query. |
|
ReadObjectQuery(java.lang.Class classToRead,
Call call)
PUBLIC: Return a new read object query. |
|
ReadObjectQuery(java.lang.Class classToRead,
Expression selectionCriteria)
PUBLIC: Return a new read object query for the class and the selection criteria. |
|
ReadObjectQuery(java.lang.Class classToRead,
ExpressionBuilder builder)
PUBLIC: Return a new read object query for the class. |
|
ReadObjectQuery(ExpressionBuilder builder)
PUBLIC: The expression builder should be provide on creation to ensure only one is used. |
|
ReadObjectQuery(java.lang.Object objectToRead)
PUBLIC: Return a query to read the object with the same primary key as the provided object. |
|
ReadObjectQuery(java.lang.Object exampleObject,
QueryByExamplePolicy policy)
PUBLIC: Return a query by example query to find an object matching the attributes of the example object. |
Method Summary | |
---|---|
void |
cacheResult(java.lang.Object unwrappedOriginal)
INTERNAL: |
void |
checkCacheByExactPrimaryKey()
PUBLIC: The cache will be checked only if the query contains exactly the primary key. |
void |
checkCacheByPrimaryKey()
PUBLIC: This is the default, the cache will be checked only if the query contains the primary key. |
void |
checkCacheThenDatabase()
PUBLIC: The cache will be checked completely, then if the object is not found or the query too complex the database will be queried. |
void |
checkDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Ensure that the descriptor has been set. |
void |
copyFromQuery(DatabaseQuery query)
INTERNAL: Copy all setting from the query. |
void |
dontLoadResultIntoSelectionObject()
PUBLIC: Do not refesh/load into the selection object, this is the default. |
java.lang.Object |
execute(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL: Execute the query. |
java.lang.Object |
extractRemoteResult(org.eclipse.persistence.internal.sessions.remote.Transporter transporter)
INTERNAL: Extract the correct query result from the transporter. |
java.util.Vector |
getSelectionKey()
PUBLIC: The primary key can be specified if used instead of an expression or selection object. |
java.lang.Object |
getSelectionObject()
PUBLIC: Return the selection object of the query. |
boolean |
isPrimaryKeyQuery()
INTERNAL: Return if the query is by primary key. |
boolean |
isReadObjectQuery()
PUBLIC: Return if this is a read object query. |
void |
loadResultIntoSelectionObject()
PUBLIC: Allow for the selection object of the query to be refreshed or put into the EclipseLink cache. |
void |
prepareForExecution()
INTERNAL: Prepare the receiver for execution in a session. |
java.lang.Object |
registerResultInUnitOfWork(java.lang.Object result,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
org.eclipse.persistence.internal.sessions.AbstractRecord arguments,
boolean buildDirectlyFromRows)
INTERNAL: All objects queried via a UnitOfWork get registered here. |
java.util.Map |
replaceValueHoldersIn(java.lang.Object object,
org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
INTERNAL: replace the value holders in the specified result object(s) |
void |
setSelectionKey(java.util.List selectionKey)
PUBLIC: The primary key can be specified if used instead of an expression or selection object. |
void |
setSelectionObject(java.lang.Object selectionObject)
PUBLIC: Used to set the where clause of the query. |
void |
setShouldLoadResultIntoSelectionObject(boolean shouldLoadResultIntoSelectionObject)
PUBLIC: Allow for the selection object of the query to be refreshed or put into the EclipseLink cache. |
void |
setSingletonSelectionKey(java.lang.Object selectionKey)
PUBLIC: The primary key can be specified if used instead of an expression or selection object. |
boolean |
shouldCheckCache()
PUBLIC: Return if the cache should be checked. |
boolean |
shouldCheckCacheByExactPrimaryKey()
PUBLIC: Return if cache should be checked. |
boolean |
shouldCheckCacheByPrimaryKey()
PUBLIC: Return if cache should be checked. |
boolean |
shouldCheckCacheThenDatabase()
PUBLIC: Return if cache should be checked. |
boolean |
shouldLoadResultIntoSelectionObject()
PUBLIC: return true if the result should be loaded into the passed in selection Object |
Methods inherited from class org.eclipse.persistence.queries.ObjectBuildingQuery |
---|
convertClassNamesToClasses, getDataResults, isAttributeJoined, isObjectBuildingQuery, registerIndividualResult, setShouldBuildNullForNullPk, setShouldUseExclusiveConnection, shouldBuildNullForNullPk, shouldUseExclusiveConnection |
Methods inherited from class org.eclipse.persistence.queries.ReadQuery |
---|
cacheQueryResults, clearQueryResults, doNotCacheQueryResults, getFetchSize, getFirstResult, getMaxRows, getQueryId, getQueryResultsCachePolicy, getTemporaryCachedQueryResults, isReadQuery, remoteExecute, setFetchSize, setFirstResult, setMaxRows, setQueryId, setQueryResultsCachePolicy, setTemporaryCachedQueryResults, shouldCacheQueryResults |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ReadObjectQuery()
public ReadObjectQuery(java.lang.Class classToRead)
ReadObjectQuery(Class, Call)
, ReadObjectQuery(Class, Expression)
, ReadObjectQuery(Class, ExpressionBuilder)
, ReadObjectQuery(ExpressionBuilder)
, ReadObjectQuery(Object)
, or ReadObjectQuery(Object, QueryByExamplePolicy)
.
public ReadObjectQuery(java.lang.Class classToRead, Expression selectionCriteria)
public ReadObjectQuery(java.lang.Class classToRead, ExpressionBuilder builder)
public ReadObjectQuery(java.lang.Class classToRead, Call call)
public ReadObjectQuery(Call call)
public ReadObjectQuery(java.lang.Object objectToRead)
public ReadObjectQuery(java.lang.Object exampleObject, QueryByExamplePolicy policy)
public ReadObjectQuery(ExpressionBuilder builder)
Method Detail |
---|
public void cacheResult(java.lang.Object unwrappedOriginal)
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.
cacheResult
in class ReadQuery
public void checkCacheByExactPrimaryKey()
ObjectLevelReadQuery.setCacheUsage(int)
public void checkCacheByPrimaryKey()
ObjectLevelReadQuery.setCacheUsage(int)
public void checkCacheThenDatabase()
ObjectLevelReadQuery.setCacheUsage(int)
public void checkDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session) throws QueryException
checkDescriptor
in class ObjectLevelReadQuery
QueryException
public void dontLoadResultIntoSelectionObject()
Note: This forces the selection object into the cache a replaces any existing object that may already be there, this is a strict violation of object identity and other objects can still be refering to the old object.
public java.lang.Object execute(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord row) throws DatabaseException
execute
in class ObjectLevelReadQuery
session
- the session in which the receiver will be executed.
DatabaseException
- - an error has occurred on the databasepublic java.lang.Object extractRemoteResult(org.eclipse.persistence.internal.sessions.remote.Transporter transporter)
extractRemoteResult
in class DatabaseQuery
public java.util.Vector getSelectionKey()
public java.lang.Object getSelectionObject()
public boolean isReadObjectQuery()
isReadObjectQuery
in class DatabaseQuery
public boolean isPrimaryKeyQuery()
isPrimaryKeyQuery
in class ObjectLevelReadQuery
public void loadResultIntoSelectionObject()
Note: This forces the selection object into the cache a replaces any existing object that may already be there, this is a strict violation of object identity and other objects can still be referring to the old object.
public void copyFromQuery(DatabaseQuery query)
copyFromQuery
in class ObjectLevelReadQuery
public void prepareForExecution() throws QueryException
prepareForExecution
in class ReadQuery
QueryException
public java.lang.Object registerResultInUnitOfWork(java.lang.Object result, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord arguments, boolean buildDirectlyFromRows)
Involves registering the query result individually and in totality, and hence refreshing / conforming is done here.
registerResultInUnitOfWork
in class ObjectLevelReadQuery
result
- may be collection (read all) or an object (read one),
or even a cursor. If in transaction the shared cache will
be bypassed, meaning the result may not be originals from the parent
but raw database rows.unitOfWork
- the unitOfWork the result is being registered in.arguments
- the original arguments/parameters passed to the query
execution. Used by conformingbuildDirectlyFromRows
- If in transaction must construct
a registered result from raw database rows.
public java.util.Map replaceValueHoldersIn(java.lang.Object object, org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
replaceValueHoldersIn
in class DatabaseQuery
public void setSelectionKey(java.util.List selectionKey)
public void setSelectionObject(java.lang.Object selectionObject)
public void setShouldLoadResultIntoSelectionObject(boolean shouldLoadResultIntoSelectionObject)
Note: This forces the selection object into the cache a replaces any existing object that may already be there, this is a strict violation of object identity and other objects can still be referring to the old object.
public void setSingletonSelectionKey(java.lang.Object selectionKey)
public boolean shouldCheckCache()
public boolean shouldCheckCacheByExactPrimaryKey()
public boolean shouldCheckCacheByPrimaryKey()
public boolean shouldCheckCacheThenDatabase()
public boolean shouldLoadResultIntoSelectionObject()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |