org.hibernate.criterion
Class SQLProjection

java.lang.Object
  extended by org.hibernate.criterion.SQLProjection
All Implemented Interfaces:
Serializable, Projection

public class SQLProjection
extends Object
implements Projection

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

See Also:
Serialized Form

Constructor Summary
protected SQLProjection(String sql, String[] columnAliases, Type[] types)
           
protected SQLProjection(String sql, String groupBy, String[] columnAliases, Type[] types)
           
 
Method Summary
 String[] getAliases()
          Get the user-visible aliases for this projection (ie.
 String[] getColumnAliases(int loc)
          Get the SQL select clause column aliases
 String[] getColumnAliases(String alias, int loc)
          Get the SQL select clause column aliases for a particular user-visible alias
 Type[] getTypes(Criteria crit, CriteriaQuery criteriaQuery)
          Return types returned by the rendered SQL fragment
 Type[] getTypes(String alias, Criteria crit, CriteriaQuery criteriaQuery)
          Return types for a particular user-visible alias
 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SQLProjection

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

SQLProjection

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

toSqlString

public String toSqlString(Criteria criteria,
                          int loc,
                          CriteriaQuery criteriaQuery)
                   throws HibernateException
Description copied from interface: Projection
Render the SQL fragment

Specified by:
toSqlString in interface Projection
Returns:
String
Throws:
HibernateException

toGroupSqlString

public String toGroupSqlString(Criteria criteria,
                               CriteriaQuery criteriaQuery)
                        throws HibernateException
Description copied from interface: Projection
Render the SQL fragment to be used in the group by clause

Specified by:
toGroupSqlString in interface Projection
Returns:
String
Throws:
HibernateException

getTypes

public Type[] getTypes(Criteria crit,
                       CriteriaQuery criteriaQuery)
                throws HibernateException
Description copied from interface: Projection
Return types returned by the rendered SQL fragment

Specified by:
getTypes in interface Projection
Returns:
Type[]
Throws:
HibernateException

toString

public String toString()
Overrides:
toString in class Object

getAliases

public String[] getAliases()
Description copied from interface: Projection
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(int loc)
Description copied from interface: Projection
Get the SQL select clause column aliases

Specified by:
getColumnAliases in interface Projection

isGrouped

public boolean isGrouped()
Description copied from interface: Projection
Does this projection specify grouping attributes?

Specified by:
isGrouped in interface Projection

getTypes

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

Specified by:
getTypes in interface Projection

getColumnAliases

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

Specified by:
getColumnAliases in interface Projection