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 ArcPropertyarcprotected QueryMetadatametadataprotected EntityResolvermetadataResolverprotected ObjectIdobjectIdprotected booleanrefreshingprotected StringrelationshipNameprotected intstatementFetchSizeFields 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 QuerycreateReplacementQuery(EntityResolver resolver)Creates a substitute query.QueryMetadatagetMetaData(EntityResolver resolver)Returns query metadata object.ObjectIdgetObjectId()ObjRelationshipgetRelationship(EntityResolver resolver)Returns a non-null relationship object for this query.StringgetRelationshipName()intgetStatementFetchSize()booleanisRefreshing()voidsetStatementFetchSize(int size)Sets statement's fetch size (0 for no default size)StringtoString()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:
getMetaDatain interfaceQuery- Overrides:
getMetaDatain classIndirectQuery
-
getObjectId
-
isRefreshing
public boolean isRefreshing() -
getRelationshipName
-
createReplacementQuery
Description copied from class:IndirectQueryCreates a substitute query. An implementor is free to provide an arbitrary replacement query.- Specified by:
createReplacementQueryin 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.
-