Top Description Fields Constructors Methods
org.hibernate.criterion

public Class SQLProjection

extends Object
implements Projection
Class Inheritance
All Implemented Interfaces
org.hibernate.criterion.Projection, java.io.Serializable
Imports
org.hibernate.Criteria, org.hibernate.internal.util.StringHelper, org.hibernate.type.Type

A SQL fragment. The string {alias} will be replaced by the alias of the root entity.

Field Summary

Modifier and TypeField and Description
private String[]
private String[]
private final String
private boolean
private final String
private final Type[]

Constructor Summary

AccessConstructor and Description
protected
SQLProjection(String sql, String[] columnAliases, Type[] types)

protected
SQLProjection(String sql, String groupBy, String[] columnAliases, Type[] types)

Method Summary

Modifier and TypeMethod and Description
public String[]
getAliases()

Implements org.hibernate.criterion.Projection.getAliases.

Get the criteria-level aliases for this projection (ie.
public String[]
getColumnAliases(int
Just as in toSqlString, represents the number of columns rendered prior to this projection.
loc
)

Implements org.hibernate.criterion.Projection.getColumnAliases.

Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (toSqlString.
public String[]
getColumnAliases(String
The criteria-level alias
alias
,
int
Just as in toSqlString, represents the number of columns rendered prior to this projection.
loc
)

Implements org.hibernate.criterion.Projection.getColumnAliases.

Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (toSqlString for a particular criteria-level alias.
public Type[]
getTypes(Criteria
The local criteria to which this project is attached (for resolution).
crit
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.Projection.getTypes.

Types returned by the rendered SQL fragment.
public Type[]
getTypes(String
The criteria-level alias for which to find types.
alias
,
Criteria
The local criteria to which this project is attached (for resolution).
crit
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.Projection.getTypes.

Get the return types for a particular user-visible alias.
public boolean
isGrouped()

Implements org.hibernate.criterion.Projection.isGrouped.

Is this projection fragment (SELECT clause) also part of the GROUP BY
public String
toGroupSqlString(Criteria
The local criteria to which this project is attached (for resolution).
criteria
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.Projection.toGroupSqlString.

Render the SQL fragment to be used in the GROUP BY clause
public String
toSqlString(Criteria
The local criteria to which this project is attached (for resolution).
criteria
,
int
The number of columns rendered in the SELECT clause before this projection. Generally speaking this is useful to ensure uniqueness of the individual columns aliases.
loc
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.Projection.toSqlString.

Render the SQL fragment to be used in the SELECT clause.
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

aliasesback to summary
private String[] aliases
columnAliasesback to summary
private String[] columnAliases
groupByback to summary
private final String groupBy
groupedback to summary
private boolean grouped
sqlback to summary
private final String sql
typesback to summary
private final Type[] types

Constructor Detail

SQLProjectionback to summary
protected SQLProjection(String sql, String[] columnAliases, Type[] types)
SQLProjectionback to summary
protected SQLProjection(String sql, String groupBy, String[] columnAliases, Type[] types)

Method Detail

getAliasesback to summary
public String[] getAliases()

Implements org.hibernate.criterion.Projection.getAliases.

Doc from org.hibernate.criterion.Projection.getAliases.

Get the criteria-level aliases for this projection (ie. the ones that will be passed to the org.hibernate.transform.ResultTransformer)

Returns:String[]

The aliases

Annotations
@Override
getColumnAliasesback to summary
public String[] getColumnAliases(int loc)

Implements org.hibernate.criterion.Projection.getColumnAliases.

Doc from org.hibernate.criterion.Projection.getColumnAliases.

Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (toSqlString. Hibernate always uses column aliases to extract data from the JDBC java.sql.ResultSet, so it is important that these be implemented correctly in order for Hibernate to be able to extract these values correctly.

Parameters
loc:int

Just as in toSqlString, represents the number of columns rendered prior to this projection.

Returns:String[]

The columns aliases.

Annotations
@Override
getColumnAliasesback to summary
public String[] getColumnAliases(String alias, int loc)

Implements org.hibernate.criterion.Projection.getColumnAliases.

Doc from org.hibernate.criterion.Projection.getColumnAliases.

Get the SQL column aliases used by this projection for the columns it writes for inclusion into the SELECT clause (toSqlString for a particular criteria-level alias.

Parameters
alias:String

The criteria-level alias

loc:int

Just as in toSqlString, represents the number of columns rendered prior to this projection.

Returns:String[]

The columns aliases pertaining to a particular criteria-level alias; expected to return null if this projection does not understand this alias.

Annotations
@Override
getTypesback to summary
public Type[] getTypes(Criteria crit, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.Projection.getTypes.

Doc from org.hibernate.criterion.Projection.getTypes.

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?

Parameters
crit:Criteria

The local criteria to which this project is attached (for resolution).

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:Type[]

The return types.

Annotations
@Override
getTypesback to summary
public Type[] getTypes(String alias, Criteria crit, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.Projection.getTypes.

Doc from org.hibernate.criterion.Projection.getTypes.

Get the return types for a particular user-visible alias.

Differs from getTypes(org.hibernate.Criteria, CriteriaQuery) in that here we are only interested in the types related to the given criteria-level alias.

Parameters
alias:String

The criteria-level alias for which to find types.

crit:Criteria

The local criteria to which this project is attached (for resolution).

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:Type[]

The return types; expected to return null if this projection does not understand this alias.

Annotations
@Override
isGroupedback to summary
public boolean isGrouped()

Implements org.hibernate.criterion.Projection.isGrouped.

Doc from org.hibernate.criterion.Projection.isGrouped.

Is this projection fragment (SELECT clause) also part of the GROUP BY

Returns:boolean

True if the projection is also part of the GROUP BY; false otherwise.

Annotations
@Override
toGroupSqlStringback to summary
public String toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.Projection.toGroupSqlString.

Doc from org.hibernate.criterion.Projection.toGroupSqlString.

Render the SQL fragment to be used in the GROUP BY clause

Parameters
criteria:Criteria

The local criteria to which this project is attached (for resolution).

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:String

The SQL fragment to plug into the GROUP BY

Annotations
@Override
toSqlStringback to summary
public String toSqlString(Criteria criteria, int loc, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.Projection.toSqlString.

Doc from org.hibernate.criterion.Projection.toSqlString.

Render the SQL fragment to be used in the SELECT clause.

Parameters
criteria:Criteria

The local criteria to which this project is attached (for resolution).

loc:int

The number of columns rendered in the SELECT clause before this projection. Generally speaking this is useful to ensure uniqueness of the individual columns aliases.

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:String

The SQL fragment to plug into the SELECT

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override