|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.dialect.Dialect org.hibernate.dialect.DB2Dialect org.hibernate.dialect.DerbyDialect
public class DerbyDialect
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
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()
Do we need to drop constraints before dropping tables in this dialect? |
String |
getCrossJoinSeparator()
Get the separator to use for defining cross joins when translating HQL queries. |
String |
getForUpdateString()
Get the string to append to SELECT statements to acquire locks for this dialect. |
String |
getLimitString(String query,
int offset,
int limit)
Given a limit and an offset, apply the limit clause to the query. |
String |
getQuerySequencesString()
Get the select command used retrieve the names of all sequences. |
String |
getReadLockString(int timeout)
Get the string to append to SELECT statements to acquire WRITE locks for this dialect. |
String |
getSequenceNextValString(String sequenceName)
Generate the appropriate select statement to to retrieve the next value of a sequence. |
String |
getWriteLockString(int timeout)
Get the string to append to SELECT statements to acquire WRITE locks for this dialect. |
boolean |
supportsCommentOn()
|
boolean |
supportsLimit()
Does this dialect support some form of limiting query results via a SQL clause? |
boolean |
supportsLimitOffset()
Does this dialect's LIMIT support (if any) additionally support specifying an offset? |
boolean |
supportsLobValueChangePropogation()
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()
Does this dialect support sequences? |
boolean |
supportsUnboundedLobLocatorMaterialization()
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()
Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset? |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DerbyDialect()
Method Detail |
---|
public String getCrossJoinSeparator()
Dialect
getCrossJoinSeparator
in class DB2Dialect
public CaseFragment createCaseFragment()
createCaseFragment
in class Dialect
CaseFragment
strategy.public boolean dropConstraints()
Dialect
dropConstraints
in class DB2Dialect
public boolean supportsSequences()
Dialect
supportsSequences
in class DB2Dialect
public String getSequenceNextValString(String sequenceName)
Dialect
getSequenceNextValString
in class DB2Dialect
sequenceName
- the name of the sequence
public boolean supportsLimit()
Dialect
supportsLimit
in class DB2Dialect
public boolean supportsCommentOn()
supportsCommentOn
in class DB2Dialect
public boolean supportsLimitOffset()
Dialect
supportsLimitOffset
in class Dialect
public String getForUpdateString()
Dialect
getForUpdateString
in class DB2Dialect
public String getWriteLockString(int timeout)
Dialect
getWriteLockString
in class Dialect
timeout
- in milliseconds, -1 for indefinite wait and 0 for no wait.
public String getReadLockString(int timeout)
Dialect
getReadLockString
in class Dialect
timeout
- in milliseconds, -1 for indefinite wait and 0 for no wait.
public String getLimitString(String query, int offset, int limit)
Query [ORDER BY clause] [result offset clause] [fetch first clause] [FOR UPDATE clause] [WITH {RR|RS|CS|UR}]
getLimitString
in class Dialect
query
- The query to which to apply the limit.offset
- The offset of the limitlimit
- The limit of the limit ;)
public boolean supportsVariableLimit()
Dialect
supportsVariableLimit
in class Dialect
public String getQuerySequencesString()
Dialect
getQuerySequencesString
in class DB2Dialect
SchemaUpdate
public boolean supportsLobValueChangePropogation()
Dialect
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()
.
supportsLobValueChangePropogation
in class DB2Dialect
public boolean supportsUnboundedLobLocatorMaterialization()
Dialect
Dialect.supportsExpectedLobUsagePattern()
also support the ability to materialize a LOB outside the owning transaction...
supportsUnboundedLobLocatorMaterialization
in class Dialect
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |