org.hibernate.criterion

Class Projections


public final class Projections
extends java.lang.Object

The criterion package may be used by applications as a framework for building new kinds of Projection. However, it is intended that most applications will simply use the built-in projection types via the static factory methods of this class.

The factory methods that take an alias allow the projected value to be referred to by criterion and order instances.
Author:
Gavin King
See Also:
Criteria, factory methods for Criterion instances

Method Summary

static Projection
alias(Projection projection, String alias)
Assign an alias to a projection, by wrapping it
static AggregateProjection
avg(String propertyName)
A property average value
static CountProjection
count(String propertyName)
A property value count
static CountProjection
countDistinct(String propertyName)
A distinct property value count
static Projection
distinct(Projection proj)
Create a distinct projection from a projection
static PropertyProjection
groupProperty(String propertyName)
A grouping property value
static IdentifierProjection
id()
A projected identifier value
static AggregateProjection
max(String propertyName)
A property maximum value
static AggregateProjection
min(String propertyName)
A property minimum value
static ProjectionList
projectionList()
Create a new projection list
static PropertyProjection
property(String propertyName)
A projected property value
static Projection
rowCount()
The query row count, ie.
static Projection
sqlGroupProjection(String sql, String groupBy, String[] columnAliases, Type[] types)
A grouping SQL projection, specifying both select clause and group by clause fragments
static Projection
sqlProjection(String sql, String[] columnAliases, Type[] types)
A SQL projection, a typed select clause fragment
static AggregateProjection
sum(String propertyName)
A property value sum

Method Details

alias

public static Projection alias(Projection projection,
                               String alias)
Assign an alias to a projection, by wrapping it

avg

public static AggregateProjection avg(String propertyName)
A property average value

count

public static CountProjection count(String propertyName)
A property value count

countDistinct

public static CountProjection countDistinct(String propertyName)
A distinct property value count

distinct

public static Projection distinct(Projection proj)
Create a distinct projection from a projection

groupProperty

public static PropertyProjection groupProperty(String propertyName)
A grouping property value

id

public static IdentifierProjection id()
A projected identifier value

max

public static AggregateProjection max(String propertyName)
A property maximum value

min

public static AggregateProjection min(String propertyName)
A property minimum value

projectionList

public static ProjectionList projectionList()
Create a new projection list

property

public static PropertyProjection property(String propertyName)
A projected property value

rowCount

public static Projection rowCount()
The query row count, ie. count(*)

sqlGroupProjection

public static Projection sqlGroupProjection(String sql,
                                            String groupBy,
                                            String[] columnAliases,
                                            Type[] types)
A grouping SQL projection, specifying both select clause and group by clause fragments

sqlProjection

public static Projection sqlProjection(String sql,
                                       String[] columnAliases,
                                       Type[] types)
A SQL projection, a typed select clause fragment

sum

public static AggregateProjection sum(String propertyName)
A property value sum