类 Oracle9iDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.dialect.Oracle8iDialect
-
- org.hibernate.dialect.Oracle9iDialect
-
- 所有已实现的接口:
ConversionContext
- 直接已知子类:
Oracle10gDialect
public class Oracle9iDialect extends Oracle8iDialect
A dialect for Oracle 9i databases. Specifies to not use "ANSI join syntax" because 9i does not seem to properly handle it in all cases.- 作者:
- Steve Ebersole
-
-
构造器概要
构造器 构造器 说明 Oracle9iDialect()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 CaseFragmentcreateCaseFragment()Map case support to the Oracle DECODE function.StringgetCurrentTimestampSelectString()Retrieve the command used to retrieve the current timestamp from the database.StringgetCurrentTimestampSQLFunctionName()The name of the database-specific SQL function for retrieving the current timestamp.StringgetForUpdateString()Get the string to append to SELECT statements to acquire locks for this dialect.LimitHandlergetLimitHandler()Returns the delegate managing LIMIT clause.StringgetLimitString(String sql, boolean hasOffset)Apply a limit clause to the query.StringgetReadLockString(int timeout)Get the string to append to SELECT statements to acquire READ locks for this dialect.StringgetSelectClauseNullString(int sqlType)Given aTypestype code, determine an appropriate null value to use in a select clause.StringgetWriteLockString(int timeout)Get the string to append to SELECT statements to acquire WRITE locks for this dialect.protected voidregisterCharacterTypeMappings()protected voidregisterDateTimeTypeMappings()booleansupportsRowValueConstructorSyntaxInInList()HHH-4907, I don't know if oracle 8 supports this syntax, so I'd think it is better add this method here.booleansupportsTupleDistinctCounts()Does this dialect support `count(distinct a,b)`?-
从类继承的方法 org.hibernate.dialect.Oracle8iDialect
bindLimitParametersInReverseOrder, buildSQLExceptionConversionDelegate, canCreateSchema, createOuterJoinFragment, dropConstraints, forceLobAsLastValue, forUpdateOfColumns, getAddColumnString, getBasicSelectClauseNullString, getCallableStatementSupport, getCascadeConstraintsString, getCreateSequenceString, getCreateSequenceString, getCrossJoinSeparator, getCurrentSchemaCommand, getDefaultMultiTableBulkIdStrategy, getDropSequenceString, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getInExpressionCountLimit, getMaxAliasLength, getNotExpression, getQueryHintString, getQuerySequencesString, getResultSet, getSelectGUIDString, getSelectSequenceNextValString, getSequenceInformationExtractor, getSequenceNextValString, getSqlTypeDescriptorOverride, getViolatedConstraintNameExtracter, isCurrentTimestampSelectStringCallable, registerDefaultProperties, registerFunctions, registerLargeObjectTypeMappings, registerNumericTypeMappings, registerResultSetOutParameter, registerReverseHibernateTypeMappings, statementType, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsLimit, supportsNoWait, supportsPartitionBy, supportsPooledSequences, supportsSequences, supportsUnionAll, useFollowOnLocking, useMaxForLimit
-
从类继承的方法 org.hibernate.dialect.Dialect
addSqlHintOrComment, appendLockHint, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, augmentRecognizedTableTypes, bindLimitParametersFirst, buildIdentifierHelper, buildSQLExceptionConverter, canCreateCatalog, cast, cast, cast, closeQuote, contributeTypes, convertToFirstRowValue, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, escapeLiteral, forceLimitUsage, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAddUniqueConstraintString, getAlterTableString, getAuxiliaryDatabaseObjectExporter, getCaseInsensitiveLike, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateMultisetTableString, getCreateSchemaCommand, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getDefaultBatchLoadSizingStrategy, getDefaultProperties, getDialect, getDialect, getDropCatalogCommand, getDropForeignKeyString, getDropSchemaCommand, getDropSequenceStrings, getDropTableString, getForeignKeyExporter, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnSupport, getIndexExporter, getKeywords, getLimitString, getLobMergeStrategy, getLockingStrategy, getLowercaseFunction, getNameQualifierSupport, getNativeIdentifierGeneratorClass, getNativeIdentifierGeneratorStrategy, getNoColumnsInsertString, getNullColumnString, getQueryHintString, getReadLockString, getResultSet, getResultSet, getSchemaNameResolver, getSequenceExporter, getTableComment, getTableExporter, getTableTypeString, getTypeName, getTypeName, getUniqueDelegate, getUniqueKeyExporter, getWriteLockString, hasAlterTable, hasSelfReferentialForeignKeyBug, inlineLiteral, isJdbcLogWarningsEnabledByDefault, isLegacyLimitHandlerBehaviorEnabled, isLockTimeoutParameterized, isTypeNameRegistered, openQuote, prependComment, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, remapSqlTypeDescriptor, renderOrderByElement, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, requiresParensForTupleDistinctCounts, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsExpectedLobUsagePattern, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsJdbcConnectionLobCreation, supportsLimitOffset, supportsLobValueChangePropogation, supportsLockTimeouts, supportsNamedParameters, supportsNationalizedTypes, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsSelectAliasInGroupByClause, supportsSkipLocked, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTupleCounts, supportsTuplesInSubqueries, supportsUnboundedLobLocatorMaterialization, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsValuesList, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useFollowOnLocking, useInputStreamToInsertBlob
-
-
-
-
方法详细资料
-
registerCharacterTypeMappings
protected void registerCharacterTypeMappings()
-
registerDateTimeTypeMappings
protected void registerDateTimeTypeMappings()
-
createCaseFragment
public CaseFragment createCaseFragment()
从类复制的说明:Oracle8iDialectMap case support to the Oracle DECODE function. Oracle did not add support for CASE until 9i. Create aCaseFragmentstrategy responsible for handling this dialect's variations in how CASE statements are handled.- 覆盖:
createCaseFragment在类中Oracle8iDialect- 返回:
- This dialect's
CaseFragmentstrategy.
-
getLimitHandler
public LimitHandler getLimitHandler()
从类复制的说明:DialectReturns the delegate managing LIMIT clause.- 覆盖:
getLimitHandler在类中Oracle8iDialect- 返回:
- LIMIT clause delegate.
-
getLimitString
public String getLimitString(String sql, boolean hasOffset)
从类复制的说明:DialectApply a limit clause to the query. Typically dialects utilizevariablelimit clauses when they support limits. Thus, when building the select command we do not actually need to know the limit or the offset since we will just be using placeholders. Here we do still pass along whether or not an offset was specified so that dialects not supporting offsets can generate proper exceptions. In general, dialects will override one or the other of this method andDialect.getLimitString(String, int, int).- 覆盖:
getLimitString在类中Oracle8iDialect- 参数:
sql- The query to which to apply the limit.hasOffset- Is the query requesting an offset?- 返回:
- the modified SQL
-
getSelectClauseNullString
public String getSelectClauseNullString(int sqlType)
从类复制的说明:DialectGiven aTypestype code, determine an appropriate null value to use in a select clause. One thing to consider here is that certain databases might require proper casting for the nulls here since the select here will be part of a UNION/UNION ALL.- 覆盖:
getSelectClauseNullString在类中Oracle8iDialect- 参数:
sqlType- TheTypestype code.- 返回:
- The appropriate select clause value fragment.
-
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
从类复制的说明:DialectRetrieve the command used to retrieve the current timestamp from the database.- 覆盖:
getCurrentTimestampSelectString在类中Oracle8iDialect- 返回:
- The command.
-
getCurrentTimestampSQLFunctionName
public String getCurrentTimestampSQLFunctionName()
从类复制的说明:DialectThe name of the database-specific SQL function for retrieving the current timestamp.- 覆盖:
getCurrentTimestampSQLFunctionName在类中Oracle8iDialect- 返回:
- The function name.
-
getForUpdateString
public String getForUpdateString()
从类复制的说明:DialectGet the string to append to SELECT statements to acquire locks for this dialect.- 覆盖:
getForUpdateString在类中Dialect- 返回:
- The appropriate FOR UPDATE clause string.
-
getWriteLockString
public String getWriteLockString(int timeout)
从类复制的说明:DialectGet the string to append to SELECT statements to acquire WRITE locks for this dialect. Location of the returned string is treated the same as getForUpdateString.- 覆盖:
getWriteLockString在类中Dialect- 参数:
timeout- in milliseconds, -1 for indefinite wait and 0 for no wait.- 返回:
- The appropriate LOCK clause string.
-
getReadLockString
public String getReadLockString(int timeout)
从类复制的说明:DialectGet the string to append to SELECT statements to acquire READ locks for this dialect. Location of the returned string is treated the same as getForUpdateString.- 覆盖:
getReadLockString在类中Dialect- 参数:
timeout- in milliseconds, -1 for indefinite wait and 0 for no wait.- 返回:
- The appropriate LOCK clause string.
-
supportsRowValueConstructorSyntaxInInList
public boolean supportsRowValueConstructorSyntaxInInList()
HHH-4907, I don't know if oracle 8 supports this syntax, so I'd think it is better add this method here. Reopen this issue if you found/know 8 supports it. If the dialect supportsrow values, does it offer such support in IN lists as well? For example, "... where (FIRST_NAME, LAST_NAME) IN ( (?, ?), (?, ?) ) ..."- 覆盖:
supportsRowValueConstructorSyntaxInInList在类中Dialect- 返回:
- True if this SQL dialect is known to support "row value constructor" syntax in the IN list; false otherwise.
-
supportsTupleDistinctCounts
public boolean supportsTupleDistinctCounts()
从类复制的说明:DialectDoes this dialect support `count(distinct a,b)`?- 覆盖:
supportsTupleDistinctCounts在类中Dialect- 返回:
- True if the database supports counting distinct tuples; false otherwise.
-
-