org.hibernate.criterion

Class SQLProjection

Implemented Interfaces:
Projection, Serializable

public class SQLProjection
extends java.lang.Object
implements Projection

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

Constructor Summary

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

Method Summary

String[]
getAliases()
Get the user-visible aliases for this projection (ie.
String[]
getColumnAliases(String alias, int loc)
Get the SQL select clause column aliases for a particular user-visible alias
String[]
getColumnAliases(int loc)
Get the SQL select clause column aliases
Type[]
getTypes(String alias, Criteria crit, CriteriaQuery criteriaQuery)
Return types for a particular user-visible alias
Type[]
getTypes(Criteria crit, CriteriaQuery criteriaQuery)
Return types returned by the rendered SQL fragment
boolean
isGrouped()
Does this projection specify grouping attributes?
String
toGroupSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
Render the SQL fragment to be used in the group by clause
String
toSqlString(Criteria criteria, int loc, CriteriaQuery criteriaQuery)
Render the SQL fragment
String
toString()

Constructor Details

SQLProjection

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

SQLProjection

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

Method Details

getAliases

public String[] getAliases()
Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer)
Specified by:
getAliases in interface Projection

getColumnAliases

public String[] getColumnAliases(String alias,
                                 int loc)
Get the SQL select clause column aliases for a particular user-visible alias
Specified by:
getColumnAliases in interface Projection

getColumnAliases

public String[] getColumnAliases(int loc)
Get the SQL select clause column aliases
Specified by:
getColumnAliases in interface Projection

getTypes

public Type[] getTypes(String alias,
                       Criteria crit,
                       CriteriaQuery criteriaQuery)
Return types for a particular user-visible alias
Specified by:
getTypes in interface Projection

getTypes

public Type[] getTypes(Criteria crit,
                       CriteriaQuery criteriaQuery)
            throws HibernateException
Return types returned by the rendered SQL fragment
Specified by:
getTypes in interface Projection
Parameters:
criteriaQuery -
Returns:
Type[]

isGrouped

public boolean isGrouped()
Does this projection specify grouping attributes?
Specified by:
isGrouped in interface Projection

toGroupSqlString

public String toGroupSqlString(Criteria criteria,
                               CriteriaQuery criteriaQuery)
            throws HibernateException
Render the SQL fragment to be used in the group by clause
Specified by:
toGroupSqlString in interface Projection
Parameters:
criteriaQuery -
Returns:
String

toSqlString

public String toSqlString(Criteria criteria,
                          int loc,
                          CriteriaQuery criteriaQuery)
            throws HibernateException
Render the SQL fragment
Specified by:
toSqlString in interface Projection
Parameters:
criteriaQuery -
Returns:
String

toString

public String toString()