Package org.apache.cayenne.query
Class RelationshipQuery
java.lang.Object
org.apache.cayenne.query.IndirectQuery
org.apache.cayenne.query.RelationshipQuery
- All Implemented Interfaces:
Serializable
,Query
public class RelationshipQuery extends IndirectQuery
A query that selects objects related to a given object via a mapped relationship.
RelationshipQuery is used by Cayenne internally to resolve relationships, and is rarely
executed by the application directly, although this of course is possible too.
- Since:
- 1.2
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected ArcProperty
arc
protected QueryMetadata
metadata
protected EntityResolver
metadataResolver
protected ObjectId
objectId
protected boolean
refreshing
protected String
relationshipName
protected int
statementFetchSize
Fields inherited from class org.apache.cayenne.query.IndirectQuery
dataMap, lastResolver, name, replacementQuery
-
Constructor Summary
Constructors Constructor Description RelationshipQuery(ObjectId objectID, String relationshipName)
Creates a RelationshipQuery.RelationshipQuery(ObjectId objectID, String relationshipName, boolean refreshing)
Creates a RelationshipQuery. -
Method Summary
Modifier and Type Method Description protected Query
createReplacementQuery(EntityResolver resolver)
Creates a substitute query.QueryMetadata
getMetaData(EntityResolver resolver)
Returns query metadata object.ObjectId
getObjectId()
ObjRelationship
getRelationship(EntityResolver resolver)
Returns a non-null relationship object for this query.String
getRelationshipName()
int
getStatementFetchSize()
boolean
isRefreshing()
void
setStatementFetchSize(int size)
Sets statement's fetch size (0 for no default size)String
toString()
Overrides toString() outputting a short string with query class and relationship name.Methods inherited from class org.apache.cayenne.query.IndirectQuery
createSQLAction, getReplacementQuery, route
-
Field Details
-
objectId
-
relationshipName
-
refreshing
protected boolean refreshing -
statementFetchSize
protected int statementFetchSize -
metadataResolver
-
metadata
-
arc
-
-
Constructor Details
-
RelationshipQuery
Creates a RelationshipQuery. Same as new RelationshipQuery(objectID, relationshipName, true).- Parameters:
objectID
- ObjectId of a root object of the relationship.relationshipName
- The name of the relationship.
-
RelationshipQuery
Creates a RelationshipQuery.- Parameters:
objectID
- ObjectId of a root object of the relationship.relationshipName
- The name of the relationship.refreshing
- whether objects should be refreshed
-
-
Method Details
-
getMetaData
Returns query metadata object.- Specified by:
getMetaData
in interfaceQuery
- Overrides:
getMetaData
in classIndirectQuery
-
getObjectId
-
isRefreshing
public boolean isRefreshing() -
getRelationshipName
-
createReplacementQuery
Description copied from class:IndirectQuery
Creates a substitute query. An implementor is free to provide an arbitrary replacement query.- Specified by:
createReplacementQuery
in classIndirectQuery
-
getRelationship
Returns a non-null relationship object for this query. -
setStatementFetchSize
public void setStatementFetchSize(int size)Sets statement's fetch size (0 for no default size)- Since:
- 3.0
-
getStatementFetchSize
public int getStatementFetchSize()- Returns:
- statement's fetch size
- Since:
- 3.0
-
toString
Overrides toString() outputting a short string with query class and relationship name.
-