Example usage for org.hibernate.sql Select setOuterJoins

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

Introduction

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

Prototype

public Select setOuterJoins(String outerJoinsAfterFrom, String outerJoinsAfterWhere) 

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);/*from w  ww.  j a v a 2 s. c  o 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;
}