Example usage for org.hibernate.sql Select setGroupByClause

List of usage examples for org.hibernate.sql Select setGroupByClause

Introduction

In this page you can find the example usage for org.hibernate.sql Select setGroupByClause.

Prototype

public Select setGroupByClause(String groupByClause) 

Source Link

Usage

From source file:com.evinceframework.data.warehouse.query.jdbc.SqlQueryBuilder.java

License:Apache License

public SqlStatementText generateSqlText(Integer rowLimit) {

    Select select = new Select(dialect);
    select.setFromClause(getFactTable().getTableName(), getFactTableAlias());
    select.setSelectClause(selectFrag);/* ww  w .j  av a2 s  .  co  m*/
    select.setOuterJoins(joinFrag.toFromFragmentString(), joinFrag.toWhereFragmentString());

    if (groupBy.size() > 0)
        select.setGroupByClause(StringHelper.join(",", groupBy.toArray(new String[] {})));

    if (where.size() > 0)
        select.setWhereClause(AbstractSqlCriterion.joinClauses(where, LogicalExpression.And.OPERATOR));

    SqlStatementText sqlStatement = new SqlStatementText();
    sqlStatement.sql = select.toStatementString();

    if (rowLimit != null) {
        RowSelection rowSelection = new RowSelection();
        rowSelection.setMaxRows(rowLimit);

        sqlStatement.limitHandler = dialect.buildLimitHandler(sqlStatement.sql, rowSelection);
        if (sqlStatement.limitHandler.supportsLimit()) {
            sqlStatement.sql = sqlStatement.limitHandler.getProcessedSql();
        }
    }

    return sqlStatement;
}