Example usage for org.hibernate.sql QuerySelect getJoinFragment

List of usage examples for org.hibernate.sql QuerySelect getJoinFragment

Introduction

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

Prototype

public JoinFragment getJoinFragment() 

Source Link

Usage

From source file:unikn.dbis.univis.navigation.tree.VTree.java

License:Open Source License

/**
 * TODO: document me!!!//from  w w w.j  a v a 2  s  . co  m
 *
 * @param dimension
 * @return
 * @throws SQLException
 */
private ResultSet getResult(VDimension dimension) throws SQLException {

    // Get a connection to retrieve items.
    Connection connection = VExplorer.getConnection();

    QuerySelect querySelect = new QuerySelect(HibernateUtil.getDialect());

    Statement stmt = connection.createStatement();

    querySelect.addSelectColumn("id", "id");

    if (dimension.isDependent()) {
        querySelect.addSelectColumn("parent", "parent");
    }

    querySelect.addSelectColumn("name", "name");

    querySelect.getJoinFragment().addJoin(dimension.getTableName(),
            UniVisDialect.generateTableAlias(dimension.getTableName(), 1), new String[] { "parent" },
            new String[] { "id" }, JoinFragment.FULL_JOIN);

    String sql = "SELECT " + dimension.getTableName() + ".id, "
            + (dimension.isDependent() ? dimension.getTableName() + ".parent, " : "") + dimension.getTableName()
            + ".name " + createWhereClause(dimension);

    return stmt.executeQuery(sql);
}