public interface Projection extends Serializable
An object-oriented representation of a query result set projection in a Criteria query.
Built-in projection types are provided by the Projections factory class. This interface might be
implemented by application classes that define custom projections.
Projections,
Criteria| Modifier and Type | Method and Description |
|---|---|
String[] |
getAliases()
Get the criteria-level aliases for this projection (ie.
|
String[] |
getColumnAliases(int position)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery). |
String[] |
getColumnAliases(String alias,
int position)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery) <i>for a particular criteria-level alias</i>. |
Type[] |
getTypes(Criteria criteria,
CriteriaQuery criteriaQuery)
Types returned by the rendered SQL
fragment. |
Type[] |
getTypes(String alias,
Criteria criteria,
CriteriaQuery criteriaQuery)
Get the return types for a particular user-visible alias.
|
boolean |
isGrouped()
Is this projection fragment (<tt>SELECT</tt> clause) also part of the <tt>GROUP BY</tt>
|
String |
toGroupSqlString(Criteria criteria,
CriteriaQuery criteriaQuery)
Render the SQL fragment to be used in the <tt>GROUP BY</tt> clause
|
String |
toSqlString(Criteria criteria,
int position,
CriteriaQuery criteriaQuery)
Render the SQL fragment to be used in the <tt>SELECT</tt> clause.
|
String toSqlString(Criteria criteria, int position, CriteriaQuery criteriaQuery) throws HibernateException
Render the SQL fragment to be used in the <tt>SELECT</tt> clause.
criteria - The local criteria to which this project is attached (for resolution).position - The number of columns rendered in the <tt>SELECT</tt> clause before this projection. Generally
speaking this is useful to ensure uniqueness of the individual columns aliases.criteriaQuery - The overall criteria query instance.HibernateException - Indicates a problem performing the renderingString toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException
Render the SQL fragment to be used in the <tt>GROUP BY</tt> clause
criteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.HibernateException - Indicates a problem performing the renderingType[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException
Types returned by the rendered SQL fragment. In other words what are the types
that would represent the values this projection asked to be pulled into the result set?
criteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.HibernateException - Indicates a problem resolving the typesType[] getTypes(String alias, Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException
Get the return types for a particular user-visible alias.
<p/>
Differs from getTypes(org.hibernate.Criteria, CriteriaQuery) in that here we are only interested in
the types related to the given criteria-level alias.
alias - The criteria-level alias for which to find types.criteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.HibernateException - Indicates a problem resolving the typesString[] getColumnAliases(int position)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery). Hibernate always uses column aliases to extract data from the
JDBC ResultSet, so it is important that these be implemented correctly in order for
Hibernate to be able to extract these val;ues correctly.
position - Just as in toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.String[] getColumnAliases(String alias, int position)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery) <i>for a particular criteria-level alias</i>.
alias - The criteria-level aliasposition - Just as in toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.String[] getAliases()
Get the criteria-level aliases for this projection (ie. the ones that will be passed to the
ResultTransformer)
boolean isGrouped()
Is this projection fragment (<tt>SELECT</tt> clause) also part of the <tt>GROUP BY</tt>
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.