org.hibernate.dialect
Class DerbyDialect
java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.dialect.DB2Dialect
org.hibernate.dialect.DerbyDialect
- All Implemented Interfaces:
- ConversionContext
- Direct Known Subclasses:
- DerbyTenFiveDialect
Deprecated. HHH-6073
@Deprecated
public class DerbyDialect
- extends DB2Dialect
Hibernate Dialect for Cloudscape 10 - aka Derby. This implements both an
override for the identity column generator as well as for the case statement
issue documented at:
http://www.jroller.com/comments/kenlars99/Weblog/cloudscape_soon_to_be_derby
Method Summary |
CaseFragment |
createCaseFragment()
Deprecated. Return the case statement modified for Cloudscape. |
boolean |
dropConstraints()
Deprecated. Do we need to drop constraints before dropping tables in this dialect? |
String |
getCrossJoinSeparator()
Deprecated. |
String |
getForUpdateString()
Deprecated. Get the string to append to SELECT statements to acquire locks
for this dialect. |
String |
getLimitString(String query,
int offset,
int limit)
Deprecated. Given a limit and an offset, apply the limit clause to the query. |
String |
getQuerySequencesString()
Deprecated. Get the select command used retrieve the names of all sequences. |
String |
getReadLockString(int timeout)
Deprecated. Get the string to append to SELECT statements to acquire WRITE locks
for this dialect. |
String |
getSequenceNextValString(String sequenceName)
Deprecated. Generate the appropriate select statement to to retrieve the next value
of a sequence. |
String |
getWriteLockString(int timeout)
Deprecated. Get the string to append to SELECT statements to acquire WRITE locks
for this dialect. |
boolean |
supportsCommentOn()
Deprecated. |
boolean |
supportsLimit()
Deprecated. Does this dialect support some form of limiting query results
via a SQL clause? |
boolean |
supportsLimitOffset()
Deprecated. Does this dialect's LIMIT support (if any) additionally
support specifying an offset? |
boolean |
supportsLobValueChangePropogation()
Deprecated. Does the dialect support propagating changes to LOB
values back to the database? Talking about mutating the
internal value of the locator as opposed to supplying a new
locator instance... |
boolean |
supportsSequences()
Deprecated. Does this dialect support sequences? |
boolean |
supportsUnboundedLobLocatorMaterialization()
Deprecated. Is it supported to materialize a LOB locator outside the transaction in
which it was created?
Again, part of the trickiness here is the fact that this is largely
driver dependent. |
boolean |
supportsVariableLimit()
Deprecated. Does this dialect support bind variables (i.e., prepared statement
parameters) for its limit/offset? |
Methods inherited from class org.hibernate.dialect.DB2Dialect |
buildSQLExceptionConversionDelegate, convertToFirstRowValue, doesReadCommittedCauseWritersToBlockReaders, generateTemporaryTableName, getAddColumnString, getCreateSequenceString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSelectString, getDropSequenceString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getLowercaseFunction, getResultSet, getSelectClauseNullString, getSqlTypeDescriptorOverride, isCurrentTimestampSelectStringCallable, main, registerResultSetOutParameter, requiresCastingOfParametersInSelectClause, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsIdentityColumns, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsTemporaryTables, supportsTupleDistinctCounts, supportsUnionAll, useMaxForLimit |
Methods inherited from class org.hibernate.dialect.Dialect |
appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, createOuterJoinFragment, doesRepeatableReadCauseReadersToBlockWriters, dropTemporaryTableAfterUse, forceLimitUsage, forUpdateOfColumns, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAddUniqueConstraintString, getCascadeConstraintsString, getCaseInsensitiveLike, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceStrings, getDropTemporaryTableString, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentitySelectString, getKeywords, getLimitString, getLobMergeStrategy, getLockingStrategy, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNullColumnString, getSelectGUIDString, getSelectSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isLockTimeoutParameterized, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, remapSqlTypeDescriptor, replaceResultVariableInOrderByClauseWithPosition, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsExpectedLobUsagePattern, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLockTimeouts, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTupleCounts, supportsUnique, supportsUniqueConstraintInCreateAlterTable, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob |
DerbyDialect
public DerbyDialect()
- Deprecated.
getCrossJoinSeparator
public String getCrossJoinSeparator()
- Deprecated.
- Overrides:
getCrossJoinSeparator
in class DB2Dialect
- Returns:
- Returns the separator to use for defining cross joins when translating HQL queries.
Typically this will be either [ cross join ] or [, ]
Note that the spaces are important!
createCaseFragment
public CaseFragment createCaseFragment()
- Deprecated.
- Return the case statement modified for Cloudscape.
- Overrides:
createCaseFragment
in class Dialect
- Returns:
- This dialect's
CaseFragment
strategy.
dropConstraints
public boolean dropConstraints()
- Deprecated.
- Description copied from class:
Dialect
- Do we need to drop constraints before dropping tables in this dialect?
- Overrides:
dropConstraints
in class DB2Dialect
- Returns:
- True if constraints must be dropped prior to dropping
the table; false otherwise.
supportsSequences
public boolean supportsSequences()
- Deprecated.
- Description copied from class:
Dialect
- Does this dialect support sequences?
- Overrides:
supportsSequences
in class DB2Dialect
- Returns:
- True if sequences supported; false otherwise.
getSequenceNextValString
public String getSequenceNextValString(String sequenceName)
- Deprecated.
- Description copied from class:
Dialect
- Generate the appropriate select statement to to retrieve the next value
of a sequence.
This should be a "stand alone" select statement.
- Overrides:
getSequenceNextValString
in class DB2Dialect
- Parameters:
sequenceName
- the name of the sequence
- Returns:
- String The "nextval" select string.
supportsLimit
public boolean supportsLimit()
- Deprecated.
- Description copied from class:
Dialect
- Does this dialect support some form of limiting query results
via a SQL clause?
- Overrides:
supportsLimit
in class DB2Dialect
- Returns:
- True if this dialect supports some form of LIMIT.
supportsCommentOn
public boolean supportsCommentOn()
- Deprecated.
- Overrides:
supportsCommentOn
in class DB2Dialect
supportsLimitOffset
public boolean supportsLimitOffset()
- Deprecated.
- Description copied from class:
Dialect
- Does this dialect's LIMIT support (if any) additionally
support specifying an offset?
- Overrides:
supportsLimitOffset
in class Dialect
- Returns:
- True if the dialect supports an offset within the limit support.
getForUpdateString
public String getForUpdateString()
- Deprecated.
- Description copied from class:
Dialect
- Get the string to append to SELECT statements to acquire locks
for this dialect.
- Overrides:
getForUpdateString
in class DB2Dialect
- Returns:
- The appropriate FOR UPDATE clause string.
getWriteLockString
public String getWriteLockString(int timeout)
- Deprecated.
- Description copied from class:
Dialect
- Get the string to append to SELECT statements to acquire WRITE locks
for this dialect. Location of the of the returned string is treated
the same as getForUpdateString.
- Overrides:
getWriteLockString
in class Dialect
- Parameters:
timeout
- in milliseconds, -1 for indefinite wait and 0 for no wait.
- Returns:
- The appropriate LOCK clause string.
getReadLockString
public String getReadLockString(int timeout)
- Deprecated.
- Description copied from class:
Dialect
- Get the string to append to SELECT statements to acquire WRITE locks
for this dialect. Location of the of the returned string is treated
the same as getForUpdateString.
- Overrides:
getReadLockString
in class Dialect
- Parameters:
timeout
- in milliseconds, -1 for indefinite wait and 0 for no wait.
- Returns:
- The appropriate LOCK clause string.
getLimitString
public String getLimitString(String query,
int offset,
int limit)
- Deprecated.
- Given a limit and an offset, apply the limit clause to the query.
From Derby 10.5 Docs:
Query
[ORDER BY clause]
[result offset clause]
[fetch first clause]
[FOR UPDATE clause]
[WITH {RR|RS|CS|UR}]
- Overrides:
getLimitString
in class DB2Dialect
- Parameters:
query
- The query to which to apply the limit.offset
- The offset of the limitlimit
- The limit of the limit ;)
- Returns:
- The modified query statement with the limit applied.
supportsVariableLimit
public boolean supportsVariableLimit()
- Deprecated.
- Description copied from class:
Dialect
- Does this dialect support bind variables (i.e., prepared statement
parameters) for its limit/offset?
- Overrides:
supportsVariableLimit
in class DB2Dialect
- Returns:
- True if bind variables can be used; false otherwise.
getQuerySequencesString
public String getQuerySequencesString()
- Deprecated.
- Description copied from class:
Dialect
- Get the select command used retrieve the names of all sequences.
- Overrides:
getQuerySequencesString
in class DB2Dialect
- Returns:
- The select command; or null if sequences are not supported.
- See Also:
SchemaUpdate
supportsLobValueChangePropogation
public boolean supportsLobValueChangePropogation()
- Deprecated.
- Description copied from class:
Dialect
- Does the dialect support propagating changes to LOB
values back to the database? Talking about mutating the
internal value of the locator as opposed to supplying a new
locator instance...
For BLOBs, the internal value might be changed by:
Blob.setBinaryStream(long)
,
Blob.setBytes(long, byte[])
,
Blob.setBytes(long, byte[], int, int)
,
or Blob.truncate(long)
.
For CLOBs, the internal value might be changed by:
Clob.setAsciiStream(long)
,
Clob.setCharacterStream(long)
,
Clob.setString(long, String)
,
Clob.setString(long, String, int, int)
,
or Clob.truncate(long)
.
NOTE : I do not know the correct answer currently for
databases which (1) are not part of the cruise control process
or (2) do not Dialect.supportsExpectedLobUsagePattern()
.
- Overrides:
supportsLobValueChangePropogation
in class DB2Dialect
- Returns:
- True if the changes are propagated back to the
database; false otherwise.
supportsUnboundedLobLocatorMaterialization
public boolean supportsUnboundedLobLocatorMaterialization()
- Deprecated.
- Description copied from class:
Dialect
- Is it supported to materialize a LOB locator outside the transaction in
which it was created?
Again, part of the trickiness here is the fact that this is largely
driver dependent.
NOTE: all database I have tested which
Dialect.supportsExpectedLobUsagePattern()
also support the ability to materialize a LOB outside the owning transaction...
- Overrides:
supportsUnboundedLobLocatorMaterialization
in class Dialect
- Returns:
- True if unbounded materialization is supported; false otherwise.
Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.