org.hibernate.dialect

Class DerbyDialect


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
Author:
Simon Johnston

Nested Class Summary

static class
DerbyDialect.DerbyTrimFunctionEmulation
A specialized function template to emulate the ANSI trim function on Derby DB since it does not support the full trim specification.

Field Summary

Fields inherited from class org.hibernate.dialect.Dialect

CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE

Constructor Summary

DerbyDialect()

Method Summary

CaseFragment
createCaseFragment()
Return the case statement modified for Cloudscape.
boolean
dropConstraints()
String
getIdentityColumnString()
This is different in Cloudscape to DB2.
Class
getNativeIdentifierGeneratorClass()
String
getQuerySequencesString()
boolean
supportsLimit()
boolean
supportsLimitOffset()
boolean
supportsLobValueChangePropogation()
boolean
supportsSequences()

Methods inherited from class org.hibernate.dialect.DB2Dialect

dropConstraints, generateTemporaryTableName, getAddColumnString, getCreateSequenceString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSelectString, getDropSequenceString, getForUpdateString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getLimitString, getLowercaseFunction, getQuerySequencesString, getResultSet, getSelectClauseNullString, getSequenceNextValString, isCurrentTimestampSelectStringCallable, main, registerResultSetOutParameter, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsIdentityColumns, supportsLimit, supportsLobValueChangePropogation, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsSequences, supportsTemporaryTables, supportsUnionAll, useMaxForLimit

Methods inherited from class org.hibernate.dialect.Dialect

appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, createCaseFragment, createOuterJoinFragment, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, dropTemporaryTableAfterUse, forUpdateOfColumns, generateTemporaryTableName, getAddColumnString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSQLFunctionName, getCurrentTimestampSelectString, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getIdentitySelectString, getKeywords, getLimitString, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNullColumnString, getQuerySequencesString, getResultSet, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isCurrentTimestampSelectStringCallable, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIdentityColumns, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLimit, supportsLimitOffset, supportsLobValueChangePropogation, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSequences, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporaryTables, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit

Constructor Details

DerbyDialect

public DerbyDialect()

Method Details

createCaseFragment

public CaseFragment createCaseFragment()
Return the case statement modified for Cloudscape.
Overrides:
createCaseFragment in interface Dialect

dropConstraints

public boolean dropConstraints()
Overrides:
dropConstraints in interface DB2Dialect

getIdentityColumnString

public String getIdentityColumnString()
This is different in Cloudscape to DB2.
Overrides:
getIdentityColumnString in interface DB2Dialect

getNativeIdentifierGeneratorClass

public Class getNativeIdentifierGeneratorClass()
Overrides:
getNativeIdentifierGeneratorClass in interface Dialect

getQuerySequencesString

public String getQuerySequencesString()
Overrides:
getQuerySequencesString in interface DB2Dialect

supportsLimit

public boolean supportsLimit()
Overrides:
supportsLimit in interface DB2Dialect

supportsLimitOffset

public boolean supportsLimitOffset()
Overrides:
supportsLimitOffset in interface Dialect

supportsLobValueChangePropogation

public boolean supportsLobValueChangePropogation()
Overrides:
supportsLobValueChangePropogation in interface DB2Dialect

supportsSequences

public boolean supportsSequences()
Overrides:
supportsSequences in interface DB2Dialect