Package org.hibernate.criterion
Class SimpleProjection
- java.lang.Object
-
- org.hibernate.criterion.SimpleProjection
-
- All Implemented Interfaces:
java.io.Serializable
,EnhancedProjection
,Projection
- Direct Known Subclasses:
AggregateProjection
,ForeingKeyProjection
,IdentifierProjection
,OracleSpatialProjection
,PropertyProjection
,RowCountProjection
public abstract class SimpleProjection extends java.lang.Object implements EnhancedProjection
A single-column projection that may be aliased- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleProjection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Projection
as(java.lang.String alias)
Create an aliased form of this projectionjava.lang.String[]
getAliases()
Get the criteria-level aliases for this projection (ie.java.lang.String[]
getColumnAliases(int loc)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
.java.lang.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 SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
.java.lang.String[]
getColumnAliases(java.lang.String alias, int loc)
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
for a particular criteria-level alias.java.lang.String[]
getColumnAliases(java.lang.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 SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
for a particular criteria-level alias.int
getColumnCount(Criteria criteria, CriteriaQuery criteriaQuery)
Count the number of columns this projection uses.Type[]
getTypes(java.lang.String alias, Criteria criteria, CriteriaQuery criteriaQuery)
Get the return types for a particular user-visible alias.boolean
isGrouped()
Is this projection fragment (SELECT clause) also part of the GROUP BYjava.lang.String
toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
Render the SQL fragment to be used in the GROUP BY clause-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.criterion.Projection
getTypes, toSqlString
-
-
-
-
Method Detail
-
as
public Projection as(java.lang.String alias)
Create an aliased form of this projection- Parameters:
alias
- The alias to apply- Returns:
- The aliased projection
-
getColumnAliases
public java.lang.String[] getColumnAliases(java.lang.String alias, int loc)
Description copied from interface:Projection
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
for a particular criteria-level alias.- Specified by:
getColumnAliases
in interfaceProjection
- Parameters:
alias
- The criteria-level aliasloc
- Just as inProjection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
, represents the number of columns rendered prior to this projection.- Returns:
- The columns aliases pertaining to a particular criteria-level alias; expected to return null if this projection does not understand this alias.
-
getColumnAliases
public java.lang.String[] getColumnAliases(java.lang.String alias, int loc, Criteria criteria, CriteriaQuery criteriaQuery)
Description copied from interface:EnhancedProjection
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
for a particular criteria-level alias.- Specified by:
getColumnAliases
in interfaceEnhancedProjection
- Parameters:
alias
- The criteria-level aliasloc
- Just as inProjection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
, represents the number of columns rendered prior to this projection.criteria
- The local criteria to which this project is attached (for resolution).criteriaQuery
- The overall criteria query instance.- Returns:
- The columns aliases pertaining to a particular criteria-level alias; expected to return null if this projection does not understand this alias.
-
getTypes
public Type[] getTypes(java.lang.String alias, Criteria criteria, CriteriaQuery criteriaQuery)
Description copied from interface:Projection
Get the return types for a particular user-visible alias. Differs fromProjection.getTypes(org.hibernate.Criteria, CriteriaQuery)
in that here we are only interested in the types related to the given criteria-level alias.- Specified by:
getTypes
in interfaceProjection
- Parameters:
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.- Returns:
- The return types; expected to return null if this projection does not understand this alias.
-
getColumnAliases
public java.lang.String[] getColumnAliases(int loc)
Description copied from interface:Projection
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
. Hibernate always uses column aliases to extract data from the JDBCResultSet
, so it is important that these be implemented correctly in order for Hibernate to be able to extract these val;ues correctly.- Specified by:
getColumnAliases
in interfaceProjection
- Parameters:
loc
- Just as inProjection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
, represents the number of columns rendered prior to this projection.- Returns:
- The columns aliases.
-
getColumnCount
public int getColumnCount(Criteria criteria, CriteriaQuery criteriaQuery)
Count the number of columns this projection uses.- Parameters:
criteria
- The criteriacriteriaQuery
- The query- Returns:
- The number of columns
-
getColumnAliases
public java.lang.String[] getColumnAliases(int loc, Criteria criteria, CriteriaQuery criteriaQuery)
Description copied from interface:EnhancedProjection
Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (Projection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
. Hibernate always uses column aliases to extract data from the JDBCResultSet
, so it is important that these be implemented correctly in order for Hibernate to be able to extract these val;ues correctly.- Specified by:
getColumnAliases
in interfaceEnhancedProjection
- Parameters:
loc
- Just as inProjection.toSqlString(org.hibernate.Criteria, int, org.hibernate.criterion.CriteriaQuery)
, represents the number of columns rendered prior to this projection.criteria
- The local criteria to which this project is attached (for resolution).criteriaQuery
- The overall criteria query instance.- Returns:
- The columns aliases.
-
getAliases
public java.lang.String[] getAliases()
Description copied from interface:Projection
Get the criteria-level aliases for this projection (ie. the ones that will be passed to theResultTransformer
)- Specified by:
getAliases
in interfaceProjection
- Returns:
- The aliases
-
toGroupSqlString
public java.lang.String toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
Description copied from interface:Projection
Render the SQL fragment to be used in the GROUP BY clause- Specified by:
toGroupSqlString
in interfaceProjection
- Parameters:
criteria
- The local criteria to which this project is attached (for resolution).criteriaQuery
- The overall criteria query instance.- Returns:
- The SQL fragment to plug into the GROUP BY
-
isGrouped
public boolean isGrouped()
Description copied from interface:Projection
Is this projection fragment (SELECT clause) also part of the GROUP BY- Specified by:
isGrouped
in interfaceProjection
- Returns:
- True if the projection is also part of the GROUP BY; false otherwise.
-
-