Top Fields Constructors Methods
org.hibernate.criterion

public Class Distinct

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

Author
Gavin King

Field Summary

Modifier and TypeField and Description
private final Projection

Constructor Summary

AccessConstructor and Description
public

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(int
Just as in toSqlString, represents the number of columns rendered prior to this projection.
loc
,
Criteria
The local criteria to which this project is attached (for resolution).
criteria
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.EnhancedProjection.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 String[]
getColumnAliases(String
The criteria-level alias
alias
,
int
Just as in toSqlString, represents the number of columns rendered prior to this projection.
loc
,
Criteria
The local criteria to which this project is attached (for resolution).
criteria
,
CriteriaQuery
The overall criteria query instance.
criteriaQuery
)

Implements org.hibernate.criterion.EnhancedProjection.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).
criteria
,
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).
criteria
,
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.
position
,
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

projectionback to summary
private final Projection projection

Constructor Detail

Distinctback to summary
public Distinct(Projection proj)

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

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 val;ues correctly.

Parameters
loc:int

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

Returns:String[]

The columns aliases.

getColumnAliasesback to summary
public String[] getColumnAliases(int loc, Criteria criteria, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.EnhancedProjection.getColumnAliases.

Doc from org.hibernate.criterion.EnhancedProjection.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 val;ues correctly.

Parameters
loc:int

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

criteria:Criteria

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

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:String[]

The columns aliases.

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.

getColumnAliasesback to summary
public String[] getColumnAliases(String alias, int loc, Criteria criteria, CriteriaQuery criteriaQuery)

Implements org.hibernate.criterion.EnhancedProjection.getColumnAliases.

Doc from org.hibernate.criterion.EnhancedProjection.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.

criteria:Criteria

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

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:String[]

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

getTypesback to summary
public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException

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
criteria:Criteria

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

criteriaQuery:CriteriaQuery

The overall criteria query instance.

Returns:Type[]

The return types.

Exceptions
HibernateException:
Indicates a problem resolving the types
getTypesback to summary
public Type[] getTypes(String alias, Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException

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.

criteria: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.

Exceptions
HibernateException:
Indicates a problem resolving the types
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.

toGroupSqlStringback to summary
public String toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException

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

Exceptions
HibernateException:
Indicates a problem performing the rendering
toSqlStringback to summary
public String toSqlString(Criteria criteria, int position, CriteriaQuery criteriaQuery) throws HibernateException

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).

position: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

Exceptions
HibernateException:
Indicates a problem performing the rendering
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.