| org.hibernate.Criteria
All known Subclasses: org.hibernate.impl.CriteriaImpl,
Criteria | public interface Criteria extends CriteriaSpecification(Code) | | Criteria is a simplified API for retrieving entities
by composing Criterion objects. This is a very
convenient approach for functionality like "search" screens
where there is a variable number of conditions to be placed
upon the result set.
The Session is a factory for Criteria.
Criterion instances are usually obtained via
the factory methods on Restrictions. eg.
List cats = session.createCriteria(Cat.class)
.add( Restrictions.like("name", "Iz%") )
.add( Restrictions.gt( "weight", new Float(minWeight) ) )
.addOrder( Order.asc("age") )
.list();
You may navigate associations using createAlias() or
createCriteria().
List cats = session.createCriteria(Cat.class)
.createCriteria("kittens")
.add( Restrictions.like("name", "Iz%") )
.list();
List cats = session.createCriteria(Cat.class)
.createAlias("kittens", "kit")
.add( Restrictions.like("kit.name", "Iz%") )
.list();
You may specify projection and aggregation using Projection
instances obtained via the factory methods on Projections.
List cats = session.createCriteria(Cat.class)
.setProjection( Projections.projectionList()
.add( Projections.rowCount() )
.add( Projections.avg("weight") )
.add( Projections.max("weight") )
.add( Projections.min("weight") )
.add( Projections.groupProperty("color") )
)
.addOrder( Order.asc("color") )
.list();
See Also: Session.createCriteria(java.lang.Class) See Also: org.hibernate.criterion.Restrictions See Also: org.hibernate.criterion.Projections See Also: org.hibernate.criterion.Order See Also: org.hibernate.criterion.Criterion See Also: org.hibernate.criterion.Projection See Also: org.hibernate.criterion.DetachedCriteria See Also: a disconnected version of this API author: Gavin King |
Method Summary | |
public Criteria | add(Criterion criterion) Add a
Criterion restriction to constrain the results to be
retrieved.
Parameters: criterion - The Criterion criterion object representing therestriction to be applied. | public Criteria | addOrder(Order order) Add an
Order ordering to the result set.
Parameters: order - The Order order object representing an orderingto be applied to the results. | public Criteria | createAlias(String associationPath, String alias) Join an association, assigning an alias to the joined association.
Functionally equivalent to
Criteria.createAlias(String,String,int) using
Criteria.INNER_JOIN for the joinType.
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). | public Criteria | createAlias(String associationPath, String alias, int joinType) Join an association using the specified join-type, assigning an alias
to the joined association.
The joinType is expected to be one of
Criteria.INNER_JOIN (the default),
Criteria.FULL_JOIN , or
Criteria.LEFT_JOIN .
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). Parameters: joinType - The type of join to use. | public Criteria | createCriteria(String associationPath) Create a new Criteria, "rooted" at the associated entity. | public Criteria | createCriteria(String associationPath, int joinType) Create a new Criteria, "rooted" at the associated entity, using the
specified join type.
Parameters: associationPath - A dot-seperated property path Parameters: joinType - The type of join to use. | public Criteria | createCriteria(String associationPath, String alias) Create a new Criteria, "rooted" at the associated entity,
assigning the given alias.
Functionally equivalent to
Criteria.createCriteria(String,String,int) using
Criteria.INNER_JOIN for the joinType.
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). | public Criteria | createCriteria(String associationPath, String alias, int joinType) Create a new Criteria, "rooted" at the associated entity,
assigning the given alias and using the specified join type.
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). Parameters: joinType - The type of join to use. | public String | getAlias() Get the alias of the entity encapsulated by this criteria instance. | public List | list() Get the results. | public ScrollableResults | scroll() | public ScrollableResults | scroll(ScrollMode scrollMode) Get the results as an instance of
ScrollableResults based on the
given scroll mode.
Parameters: scrollMode - Indicates the type of underlying database cursor torequest. | public Criteria | setCacheMode(CacheMode cacheMode) Override the cache mode for this particular query.
Parameters: cacheMode - The cache mode to use. | public Criteria | setCacheRegion(String cacheRegion) Set the name of the cache region to use for query result caching. | public Criteria | setCacheable(boolean cacheable) Enable caching of this query result, provided query caching is enabled
for the underlying session factory.
Parameters: cacheable - Should the result be considered cacheable; default isto not cache (false). | public Criteria | setComment(String comment) Add a comment to the generated SQL. | public Criteria | setFetchMode(String associationPath, FetchMode mode) Specify an association fetching strategy for an association or a
collection of values. | public Criteria | setFetchSize(int fetchSize) Set a fetch size for the underlying JDBC query. | public Criteria | setFirstResult(int firstResult) Set the first result to be retrieved. | public Criteria | setFlushMode(FlushMode flushMode) Override the flush mode for this particular query.
Parameters: flushMode - The flush mode to use. | public Criteria | setLockMode(LockMode lockMode) | public Criteria | setLockMode(String alias, LockMode lockMode) | public Criteria | setMaxResults(int maxResults) Set a limit upon the number of objects to be retrieved. | public Criteria | setProjection(Projection projection) Used to specify that the query results will be a projection (scalar in
nature). | public Criteria | setResultTransformer(ResultTransformer resultTransformer) Set a strategy for handling the query results. | public Criteria | setTimeout(int timeout) Set a timeout for the underlying JDBC query.
Parameters: timeout - The timeout value to apply. | public Object | uniqueResult() Convenience method to return a single instance that matches
the query, or null if the query returns no results. |
add | public Criteria add(Criterion criterion)(Code) | | Add a
Criterion restriction to constrain the results to be
retrieved.
Parameters: criterion - The Criterion criterion object representing therestriction to be applied. this (for method chaining) |
addOrder | public Criteria addOrder(Order order)(Code) | | Add an
Order ordering to the result set.
Parameters: order - The Order order object representing an orderingto be applied to the results. this (for method chaining) |
createAlias | public Criteria createAlias(String associationPath, String alias, int joinType) throws HibernateException(Code) | | Join an association using the specified join-type, assigning an alias
to the joined association.
The joinType is expected to be one of
Criteria.INNER_JOIN (the default),
Criteria.FULL_JOIN , or
Criteria.LEFT_JOIN .
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). Parameters: joinType - The type of join to use. this (for method chaining) |
createCriteria | public Criteria createCriteria(String associationPath, int joinType) throws HibernateException(Code) | | Create a new Criteria, "rooted" at the associated entity, using the
specified join type.
Parameters: associationPath - A dot-seperated property path Parameters: joinType - The type of join to use. the created "sub criteria" |
createCriteria | public Criteria createCriteria(String associationPath, String alias, int joinType) throws HibernateException(Code) | | Create a new Criteria, "rooted" at the associated entity,
assigning the given alias and using the specified join type.
Parameters: associationPath - A dot-seperated property path Parameters: alias - The alias to assign to the joined association (for later reference). Parameters: joinType - The type of join to use. the created "sub criteria" |
getAlias | public String getAlias()(Code) | | Get the alias of the entity encapsulated by this criteria instance.
The alias for the encapsulated entity. |
setCacheMode | public Criteria setCacheMode(CacheMode cacheMode)(Code) | | Override the cache mode for this particular query.
Parameters: cacheMode - The cache mode to use. this (for method chaining) |
setCacheRegion | public Criteria setCacheRegion(String cacheRegion)(Code) | | Set the name of the cache region to use for query result caching.
Parameters: cacheRegion - the name of a query cache region, or nullfor the default query cache this (for method chaining) See Also: Criteria.setCacheable |
setCacheable | public Criteria setCacheable(boolean cacheable)(Code) | | Enable caching of this query result, provided query caching is enabled
for the underlying session factory.
Parameters: cacheable - Should the result be considered cacheable; default isto not cache (false). this (for method chaining) |
setComment | public Criteria setComment(String comment)(Code) | | Add a comment to the generated SQL.
Parameters: comment - a human-readable string this (for method chaining) |
setFetchMode | public Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException(Code) | | Specify an association fetching strategy for an association or a
collection of values.
Parameters: associationPath - a dot seperated property path Parameters: mode - The fetch mode for the referenced association this (for method chaining) |
setFirstResult | public Criteria setFirstResult(int firstResult)(Code) | | Set the first result to be retrieved.
Parameters: firstResult - the first result to retrieve, numbered from 0 this (for method chaining) |
setFlushMode | public Criteria setFlushMode(FlushMode flushMode)(Code) | | Override the flush mode for this particular query.
Parameters: flushMode - The flush mode to use. this (for method chaining) |
setLockMode | public Criteria setLockMode(LockMode lockMode)(Code) | | Set the lock mode of the current entity
Parameters: lockMode - The lock mode to be applied this (for method chaining) |
setLockMode | public Criteria setLockMode(String alias, LockMode lockMode)(Code) | | Set the lock mode of the aliased entity
Parameters: alias - The previously assigned alias representing the entity towhich the given lock mode should apply. Parameters: lockMode - The lock mode to be applied this (for method chaining) |
setMaxResults | public Criteria setMaxResults(int maxResults)(Code) | | Set a limit upon the number of objects to be retrieved.
Parameters: maxResults - the maximum number of results this (for method chaining) |
setProjection | public Criteria setProjection(Projection projection)(Code) | | Used to specify that the query results will be a projection (scalar in
nature). Implicitly specifies the
Criteria.PROJECTION result transformer.
The individual components contained within the given
Projection projection determines the overall "shape" of the
query result.
Parameters: projection - The projection representing the overall "shape" of thequery results. this (for method chaining) |
uniqueResult | public Object uniqueResult() throws HibernateException(Code) | | Convenience method to return a single instance that matches
the query, or null if the query returns no results.
the single result or null throws: HibernateException - if there is more than one matching result |
|
|