public class ProjectionList extends Object implements EnhancedProjection
A projection that wraps other projections to allow selecting multiple values.
| Modifier | Constructor and Description |
|---|---|
protected |
ProjectionList()
Constructs a ProjectionList
|
| Modifier and Type | Method and Description |
|---|---|
ProjectionList |
add(Projection projection)
Add a projection to this list of projections
|
ProjectionList |
add(Projection projection,
String alias)
Adds a projection to this list of projections after wrapping it with an alias
|
ProjectionList |
create()
Deprecated.
an instance factory method does not make sense
|
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>. |
int |
getLength() |
Projection |
getProjection(int i)
Access a wrapped projection by index
|
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 loc,
CriteriaQuery criteriaQuery)
Render the SQL fragment to be used in the <tt>SELECT</tt> clause.
|
String |
toString() |
protected ProjectionList()
Constructs a ProjectionList
Projections.projectionList()@Deprecated public ProjectionList create()
Lol
Projections.projectionList()public ProjectionList add(Projection projection)
Add a projection to this list of projections
projection - The projection to addthis, for method chainingpublic ProjectionList add(Projection projection, String alias)
Adds a projection to this list of projections after wrapping it with an alias
projection - The projection to addalias - The alias to apply to the projectionthis, for method chainingProjections.alias(org.hibernate.criterion.Projection, java.lang.String)public boolean isGrouped()
ProjectionIs this projection fragment (<tt>SELECT</tt> clause) also part of the <tt>GROUP BY</tt>
isGrouped in interface Projectionpublic Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException
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.HibernateException - Indicates a problem resolving the typespublic String toSqlString(Criteria criteria, int loc, CriteriaQuery criteriaQuery) throws HibernateException
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).loc - 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 renderingpublic String toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException
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.HibernateException - Indicates a problem performing the renderingpublic 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 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[] getAliases()
ProjectionGet the criteria-level aliases for this projection (ie. the ones that will be passed to the
ResultTransformer)
getAliases in interface Projectionpublic Projection getProjection(int i)
Access a wrapped projection by index
i - The index of the projection to returnpublic int getLength()
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.