public class Distinct extends Object implements EnhancedProjection
A wrappedProjection that is a wrapper around other projections to apply distinction.
| Constructor and Description |
|---|
Distinct(Projection wrappedProjection)
Constructs a Distinct
|
| Modifier and Type | Method and Description |
|---|---|
String[] |
getAliases()
Get the criteria-level aliases for this projection (ie.
|
String[] |
getColumnAliases(int loc)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery). |
String[] |
getColumnAliases(int loc,
Criteria criteria,
CriteriaQuery criteriaQuery)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery). |
String[] |
getColumnAliases(String alias,
int loc)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery) <i>for a particular criteria-level alias</i>. |
String[] |
getColumnAliases(String alias,
int loc,
Criteria criteria,
CriteriaQuery criteriaQuery)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (
Projection.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 |
toString() |
public Distinct(Projection wrappedProjection)
Constructs a Distinct
wrappedProjection - The wrapped projectionpublic String toSqlString(Criteria criteria, int position, CriteriaQuery criteriaQuery)
ProjectionRender the SQL fragment to be used in the <tt>SELECT</tt> clause.
toSqlString in interface Projectioncriteria - 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.public String toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
ProjectionRender the SQL fragment to be used in the <tt>GROUP BY</tt> clause
toGroupSqlString in interface Projectioncriteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery)
ProjectionTypes 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?
getTypes in interface Projectioncriteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.public Type[] getTypes(String alias, Criteria criteria, CriteriaQuery criteriaQuery)
ProjectionGet the return types for a particular user-visible alias.
<p/>
Differs from Projection.getTypes(org.hibernate.Criteria, CriteriaQuery) in that here we are only interested in
the types related to the given criteria-level alias.
getTypes in interface Projectionalias - 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.public String[] getColumnAliases(int loc)
ProjectionGet the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (Projection.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.
getColumnAliases in interface Projectionloc - Just as in Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.public String[] getColumnAliases(int loc, Criteria criteria, CriteriaQuery criteriaQuery)
EnhancedProjectionGet the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (Projection.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.
getColumnAliases in interface EnhancedProjectionloc - Just as in Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.criteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.public String[] getColumnAliases(String alias, int loc)
ProjectionGet the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery) <i>for a particular criteria-level alias</i>.
getColumnAliases in interface Projectionalias - The criteria-level aliasloc - Just as in Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.public String[] getColumnAliases(String alias, int loc, Criteria criteria, CriteriaQuery criteriaQuery)
EnhancedProjectionGet the SQL column aliases used by this projection for the columns it writes for inclusion into the
<tt>SELECT</tt> clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery) <i>for a particular criteria-level alias</i>.
getColumnAliases in interface EnhancedProjectionalias - The criteria-level aliasloc - Just as in Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery), represents the number of <b>columns</b> rendered
prior to this projection.criteria - The local criteria to which this project is attached (for resolution).criteriaQuery - The overall criteria query instance.public String[] getAliases()
ProjectionGet the criteria-level aliases for this projection (ie. the ones that will be passed to the
ResultTransformer)
getAliases in interface Projectionpublic boolean isGrouped()
ProjectionIs this projection fragment (<tt>SELECT</tt> clause) also part of the <tt>GROUP BY</tt>
isGrouped in interface ProjectionCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.