|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Criteria
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();
SharedSessionContract.createCriteria(java.lang.Class)
,
Restrictions
,
Projections
,
Order
,
Criterion
,
Projection
,
a disconnected version of this API
Field Summary |
---|
Fields inherited from interface org.hibernate.criterion.CriteriaSpecification |
---|
ALIAS_TO_ENTITY_MAP, DISTINCT_ROOT_ENTITY, FULL_JOIN, INNER_JOIN, LEFT_JOIN, PROJECTION, ROOT_ALIAS, ROOT_ENTITY |
Method Summary | |
---|---|
Criteria |
add(Criterion criterion)
Add a restriction to constrain the results to be
retrieved. |
Criteria |
addOrder(Order order)
Add an ordering to the result set. |
Criteria |
createAlias(String associationPath,
String alias)
Join an association, assigning an alias to the joined association. |
Criteria |
createAlias(String associationPath,
String alias,
int joinType)
Deprecated. use createAlias(String, String, org.hibernate.sql.JoinType) |
Criteria |
createAlias(String associationPath,
String alias,
int joinType,
Criterion withClause)
Deprecated. use createAlias(String, String, JoinType, Criterion) |
Criteria |
createAlias(String associationPath,
String alias,
JoinType joinType)
Join an association using the specified join-type, assigning an alias to the joined association. |
Criteria |
createAlias(String associationPath,
String alias,
JoinType joinType,
Criterion withClause)
Join an association using the specified join-type, assigning an alias to the joined association. |
Criteria |
createCriteria(String associationPath)
Create a new Criteria, "rooted" at the associated entity. |
Criteria |
createCriteria(String associationPath,
int joinType)
Deprecated. use createAlias(String, String, org.hibernate.sql.JoinType) |
Criteria |
createCriteria(String associationPath,
JoinType joinType)
Create a new Criteria, "rooted" at the associated entity, using the specified join type. |
Criteria |
createCriteria(String associationPath,
String alias)
Create a new Criteria, "rooted" at the associated entity, assigning the given alias. |
Criteria |
createCriteria(String associationPath,
String alias,
int joinType)
Deprecated. use createCriteria(String, org.hibernate.sql.JoinType) |
Criteria |
createCriteria(String associationPath,
String alias,
int joinType,
Criterion withClause)
Deprecated. use createCriteria(String, String, org.hibernate.sql.JoinType, org.hibernate.criterion.Criterion) |
Criteria |
createCriteria(String associationPath,
String alias,
JoinType joinType)
Create a new Criteria, "rooted" at the associated entity, assigning the given alias and using the specified join type. |
Criteria |
createCriteria(String associationPath,
String alias,
JoinType joinType,
Criterion withClause)
Create a new Criteria, "rooted" at the associated entity, assigning the given alias and using the specified join type. |
String |
getAlias()
Get the alias of the entity encapsulated by this criteria instance. |
boolean |
isReadOnly()
Should entities and proxies loaded by this Criteria be put in read-only mode? If the read-only/modifiable setting was not initialized, then the default read-only/modifiable setting for the persistence context is returned instead. |
boolean |
isReadOnlyInitialized()
Was the read-only/modifiable mode explicitly initialized? |
List |
list()
Get the results. |
ScrollableResults |
scroll()
Get the results as an instance of ScrollableResults |
ScrollableResults |
scroll(ScrollMode scrollMode)
Get the results as an instance of ScrollableResults based on the
given scroll mode. |
Criteria |
setCacheable(boolean cacheable)
Enable caching of this query result, provided query caching is enabled for the underlying session factory. |
Criteria |
setCacheMode(CacheMode cacheMode)
Override the cache mode for this particular query. |
Criteria |
setCacheRegion(String cacheRegion)
Set the name of the cache region to use for query result caching. |
Criteria |
setComment(String comment)
Add a comment to the generated SQL. |
Criteria |
setFetchMode(String associationPath,
FetchMode mode)
Specify an association fetching strategy for an association or a collection of values. |
Criteria |
setFetchSize(int fetchSize)
Set a fetch size for the underlying JDBC query. |
Criteria |
setFirstResult(int firstResult)
Set the first result to be retrieved. |
Criteria |
setFlushMode(FlushMode flushMode)
Override the flush mode for this particular query. |
Criteria |
setLockMode(LockMode lockMode)
Set the lock mode of the current entity |
Criteria |
setLockMode(String alias,
LockMode lockMode)
Set the lock mode of the aliased entity |
Criteria |
setMaxResults(int maxResults)
Set a limit upon the number of objects to be retrieved. |
Criteria |
setProjection(Projection projection)
Used to specify that the query results will be a projection (scalar in nature). |
Criteria |
setReadOnly(boolean readOnly)
Set the read-only/modifiable mode for entities and proxies loaded by this Criteria. |
Criteria |
setResultTransformer(ResultTransformer resultTransformer)
Set a strategy for handling the query results. |
Criteria |
setTimeout(int timeout)
Set a timeout for the underlying JDBC query. |
Object |
uniqueResult()
Convenience method to return a single instance that matches the query, or null if the query returns no results. |
Method Detail |
---|
String getAlias()
Criteria setProjection(Projection projection)
CriteriaSpecification.PROJECTION
result transformer.
The individual components contained within the given
projection
determines the overall "shape" of the
query result.
projection
- The projection representing the overall "shape" of the
query results.
Criteria add(Criterion criterion)
restriction
to constrain the results to be
retrieved.
criterion
- The criterion
object representing the
restriction to be applied.
Criteria addOrder(Order order)
ordering
to the result set.
order
- The order
object representing an ordering
to be applied to the results.
Criteria setFetchMode(String associationPath, FetchMode mode) throws HibernateException
associationPath
- a dot seperated property pathmode
- The fetch mode for the referenced association
HibernateException
- Indicates a problem applying the given fetch modeCriteria setLockMode(LockMode lockMode)
lockMode
- The lock mode to be applied
Criteria setLockMode(String alias, LockMode lockMode)
alias
- The previously assigned alias representing the entity to
which the given lock mode should apply.lockMode
- The lock mode to be applied
Criteria createAlias(String associationPath, String alias) throws HibernateException
createAlias(String, String, JoinType )
using
JoinType.INNER_JOIN
for the joinType.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).
HibernateException
- Indicates a problem creating the sub criteriaCriteria createAlias(String associationPath, String alias, JoinType joinType) throws HibernateException
JoinType.INNER_JOIN
(the default),
JoinType.FULL_JOIN
, or JoinType.LEFT_OUTER_JOIN
.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteria@Deprecated Criteria createAlias(String associationPath, String alias, int joinType) throws HibernateException
createAlias(String, String, org.hibernate.sql.JoinType)
CriteriaSpecification.INNER_JOIN
(the default),
CriteriaSpecification.FULL_JOIN
, or CriteriaSpecification.LEFT_JOIN
.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteriaCriteria createAlias(String associationPath, String alias, JoinType joinType, Criterion withClause) throws HibernateException
JoinType.INNER_JOIN
(the default),
JoinType.FULL_JOIN
, or JoinType.LEFT_OUTER_JOIN
.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.withClause
- The criteria to be added to the join condition (ON clause)
HibernateException
- Indicates a problem creating the sub criteria@Deprecated Criteria createAlias(String associationPath, String alias, int joinType, Criterion withClause) throws HibernateException
createAlias(String, String, JoinType, Criterion)
CriteriaSpecification.INNER_JOIN
(the default),
CriteriaSpecification.FULL_JOIN
, or CriteriaSpecification.LEFT_JOIN
.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.withClause
- The criteria to be added to the join condition (ON clause)
HibernateException
- Indicates a problem creating the sub criteriaCriteria createCriteria(String associationPath) throws HibernateException
createCriteria(String, org.hibernate.sql.JoinType)
using
JoinType.INNER_JOIN
for the joinType.
associationPath
- A dot-seperated property path
HibernateException
- Indicates a problem creating the sub criteriaCriteria createCriteria(String associationPath, JoinType joinType) throws HibernateException
associationPath
- A dot-seperated property pathjoinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteria@Deprecated Criteria createCriteria(String associationPath, int joinType) throws HibernateException
createAlias(String, String, org.hibernate.sql.JoinType)
associationPath
- A dot-seperated property pathjoinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteriaCriteria createCriteria(String associationPath, String alias) throws HibernateException
createCriteria(String, String, org.hibernate.sql.JoinType)
using
JoinType.INNER_JOIN
for the joinType.
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).
HibernateException
- Indicates a problem creating the sub criteriaCriteria createCriteria(String associationPath, String alias, JoinType joinType) throws HibernateException
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteria@Deprecated Criteria createCriteria(String associationPath, String alias, int joinType) throws HibernateException
createCriteria(String, org.hibernate.sql.JoinType)
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.
HibernateException
- Indicates a problem creating the sub criteriaCriteria createCriteria(String associationPath, String alias, JoinType joinType, Criterion withClause) throws HibernateException
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.withClause
- The criteria to be added to the join condition (ON clause)
HibernateException
- Indicates a problem creating the sub criteria@Deprecated Criteria createCriteria(String associationPath, String alias, int joinType, Criterion withClause) throws HibernateException
createCriteria(String, String, org.hibernate.sql.JoinType, org.hibernate.criterion.Criterion)
associationPath
- A dot-seperated property pathalias
- The alias to assign to the joined association (for later reference).joinType
- The type of join to use.withClause
- The criteria to be added to the join condition (ON clause)
HibernateException
- Indicates a problem creating the sub criteriaCriteria setResultTransformer(ResultTransformer resultTransformer)
resultTransformer
- The transformer to apply
CriteriaSpecification.ROOT_ENTITY
,
CriteriaSpecification.DISTINCT_ROOT_ENTITY
,
CriteriaSpecification.ALIAS_TO_ENTITY_MAP
,
CriteriaSpecification.PROJECTION
Criteria setMaxResults(int maxResults)
maxResults
- the maximum number of results
Criteria setFirstResult(int firstResult)
firstResult
- the first result to retrieve, numbered from 0
boolean isReadOnlyInitialized()
setReadOnly(boolean)
boolean isReadOnly()
IllegalStateException
- if isReadOnlyInitialized()
returns false
and this Criteria is not associated with a session.setReadOnly(boolean)
,
The read-only/modifiable setting has no impact on entities/proxies returned by the
Criteria that existed in the session before the Criteria was executed.
,
isReadOnlyInitialized()
Criteria setReadOnly(boolean readOnly)
readOnly
- true, entities and proxies loaded by the criteria will be put in read-only mode
false, entities and proxies loaded by the criteria will be put in modifiable mode
this
, for method chainingTo set the default read-only/modifiable setting used for
entities and proxies that are loaded into the session:
,
PersistenceContext.setDefaultReadOnly(boolean)
,
Read-only entities are not dirty-checked and snapshots of persistent
state are not maintained. Read-only entities can be modified, but
changes are not persisted.
When a proxy is initialized, the loaded entity will have the same
read-only/modifiable setting as the uninitialized
proxy has, regardless of the session's current setting.
The read-only/modifiable setting has no impact on entities/proxies
returned by the criteria that existed in the session before the criteria was executed.
Criteria setFetchSize(int fetchSize)
fetchSize
- the fetch size
Statement.setFetchSize(int)
Criteria setTimeout(int timeout)
timeout
- The timeout value to apply.
Statement.setQueryTimeout(int)
Criteria setCacheable(boolean cacheable)
cacheable
- Should the result be considered cacheable; default is
to not cache (false).
Criteria setCacheRegion(String cacheRegion)
cacheRegion
- the name of a query cache region, or null
for the default query cache
setCacheable(boolean)
Criteria setComment(String comment)
comment
- a human-readable string
Criteria setFlushMode(FlushMode flushMode)
flushMode
- The flush mode to use.
Criteria setCacheMode(CacheMode cacheMode)
cacheMode
- The cache mode to use.
List list() throws HibernateException
HibernateException
- Indicates a problem either translating the criteria to SQL,
exeucting the SQL or processing the SQL results.ScrollableResults scroll() throws HibernateException
ScrollableResults
ScrollableResults
representing the matched
query results.
HibernateException
- Indicates a problem either translating the criteria to SQL,
exeucting the SQL or processing the SQL results.ScrollableResults scroll(ScrollMode scrollMode) throws HibernateException
ScrollableResults
based on the
given scroll mode.
scrollMode
- Indicates the type of underlying database cursor to
request.
ScrollableResults
representing the matched
query results.
HibernateException
- Indicates a problem either translating the criteria to SQL,
exeucting the SQL or processing the SQL results.Object uniqueResult() throws HibernateException
HibernateException
- if there is more than one matching result
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |