public class OracleDialect extends DefaultDialect
GROUP_BY_PATTERN, ORDER_BY_PATTERN| Constructor and Description |
|---|
OracleDialect() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendEmptyRow(MetaModel metaModel,
StringBuilder query) |
protected void |
appendTime(StringBuilder query,
Time value) |
String |
formSelect(String tableName,
String[] columns,
String subQuery,
List<String> orderBys,
long limit,
long offset)
Example of a query we are building here:
|
Object |
overrideDriverTypeConversion(MetaModel mm,
String attributeName,
Object value) |
appendDate, appendOrderBy, appendQuestions, appendSelect, appendSubQuery, appendTimestamp, appendValue, deleteManyToManyAssociation, insert, insertManyToManyAssociation, insertParametrized, replace, selectCount, selectCount, selectExists, selectManyToManyAssociation, selectStar, selectStar, selectStarParametrized, updatepublic String formSelect(String tableName, String[] columns, String subQuery, List<String> orderBys, long limit, long offset)
SELECT * FROM (
SELECT t2.*, ROWNUM AS oracle_row_number FROM (
SELECT t.* FROM pages t WHERE <conditions> ORDER BY id
) t2
) WHERE oracle_row_number >= 20 AND rownum <= 10;
Look here for reference: Oracle: ROW_NUMBER vs ROWNUM
formSelect in interface DialectformSelect in class DefaultDialecttableName - name of table. If table name is null, then the subQuery parameter is considered to be a full query, and all that needs to be done is to
add limit, offset and order byscolumns - not used in this implementation.subQuery - sub query, something like: "name = ? AND ssn = ?". It can be blank: "" or null;orderBys - collection of order by: "dob desc" - one examplelimit - limit value, -1 if not needed.offset - offset value, -1 if not needed.SELECT * FROM (SELECT t2.*, ROWNUM AS oracle_row_number FROM (SELECT t.* FROM pages t WHERE <conditions> ORDER BY id) t2) WHERE oracle_row_number >= 20 AND rownum <= 10;Can't think of an uglier thing. Shame on you, Oracle.
public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value)
overrideDriverTypeConversion in interface DialectoverrideDriverTypeConversion in class DefaultDialectprotected void appendEmptyRow(MetaModel metaModel, StringBuilder query)
appendEmptyRow in class DefaultDialectprotected void appendTime(StringBuilder query, Time value)
appendTime in class DefaultDialectCopyright © 2019 JavaLite. All rights reserved.