Example usage for org.hibernate.sql Select Select

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

Introduction

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

Prototype

public Select(Dialect dialect) 

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);//w w  w. jav  a2s . com
    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;
}