Methods Summary |
---|
public org.hibernate.LockMode | getLockMode()
return lockMode;
|
public org.hibernate.sql.Select | setComment(java.lang.String comment)
this.comment = comment;
this.guesstimatedBufferSize += comment.length();
return this;
|
public org.hibernate.sql.Select | setFromClause(java.lang.String fromClause)Sets the fromClause.
this.fromClause = fromClause;
this.guesstimatedBufferSize += fromClause.length();
return this;
|
public org.hibernate.sql.Select | setFromClause(java.lang.String tableName, java.lang.String alias)
this.fromClause = tableName + ' " + alias;
this.guesstimatedBufferSize += fromClause.length();
return this;
|
public org.hibernate.sql.Select | setGroupByClause(java.lang.String groupByClause)
this.groupByClause = groupByClause;
this.guesstimatedBufferSize += groupByClause.length();
return this;
|
public org.hibernate.sql.Select | setLockMode(org.hibernate.LockMode lockMode)
this.lockMode = lockMode;
return this;
|
public org.hibernate.sql.Select | setOrderByClause(java.lang.String orderByClause)
this.orderByClause = orderByClause;
this.guesstimatedBufferSize += orderByClause.length();
return this;
|
public org.hibernate.sql.Select | setOuterJoins(java.lang.String outerJoinsAfterFrom, java.lang.String outerJoinsAfterWhere)
this.outerJoinsAfterFrom = outerJoinsAfterFrom;
// strip off any leading 'and' token
String tmpOuterJoinsAfterWhere = outerJoinsAfterWhere.trim();
if ( tmpOuterJoinsAfterWhere.startsWith("and") ) {
tmpOuterJoinsAfterWhere = tmpOuterJoinsAfterWhere.substring(4);
}
this.outerJoinsAfterWhere = tmpOuterJoinsAfterWhere;
this.guesstimatedBufferSize += outerJoinsAfterFrom.length() + outerJoinsAfterWhere.length();
return this;
|
public org.hibernate.sql.Select | setSelectClause(java.lang.String selectClause)Sets the selectClause.
this.selectClause = selectClause;
this.guesstimatedBufferSize += selectClause.length();
return this;
|
public org.hibernate.sql.Select | setWhereClause(java.lang.String whereClause)Sets the whereClause.
this.whereClause = whereClause;
this.guesstimatedBufferSize += whereClause.length();
return this;
|
public java.lang.String | toStatementString()Construct an SQL SELECT statement from the given clauses
StringBuffer buf = new StringBuffer(guesstimatedBufferSize);
if ( StringHelper.isNotEmpty(comment) ) {
buf.append("/* ").append(comment).append(" */ ");
}
buf.append("select ").append(selectClause)
.append(" from ").append(fromClause);
if ( StringHelper.isNotEmpty(outerJoinsAfterFrom) ) {
buf.append(outerJoinsAfterFrom);
}
if ( StringHelper.isNotEmpty(whereClause) || StringHelper.isNotEmpty(outerJoinsAfterWhere) ) {
buf.append(" where " );
// the outerJoinsAfterWhere needs to come before where clause to properly
// handle dynamic filters
if ( StringHelper.isNotEmpty(outerJoinsAfterWhere) ) {
buf.append(outerJoinsAfterWhere);
if ( StringHelper.isNotEmpty(whereClause) ) {
buf.append( " and " );
}
}
if ( StringHelper.isNotEmpty(whereClause) ) {
buf.append(whereClause);
}
}
if ( StringHelper.isNotEmpty(groupByClause) ) {
buf.append(" group by ").append(groupByClause);
}
if ( StringHelper.isNotEmpty(orderByClause) ) {
buf.append(" order by ").append(orderByClause);
}
if (lockMode!=null) {
buf.append( dialect.getForUpdateString(lockMode) );
}
return dialect.transformSelectString( buf.toString() );
|