| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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 DB2Dialectpublic CaseFragment createCaseFragment()
createCaseFragment in class DialectCaseFragment strategy.public boolean dropConstraints()
Dialect
dropConstraints in class DB2Dialectpublic boolean supportsSequences()
Dialect
supportsSequences in class DB2Dialectpublic String getSequenceNextValString(String sequenceName)
Dialect
getSequenceNextValString in class DB2DialectsequenceName - the name of the sequence
public boolean supportsLimit()
Dialect
supportsLimit in class DB2Dialectpublic boolean supportsCommentOn()
supportsCommentOn in class DB2Dialectpublic boolean supportsLimitOffset()
Dialect
supportsLimitOffset in class Dialectpublic String getForUpdateString()
Dialect
getForUpdateString in class DB2Dialectpublic String getWriteLockString(int timeout)
Dialect
getWriteLockString in class Dialecttimeout - in milliseconds, -1 for indefinite wait and 0 for no wait.
public String getReadLockString(int timeout)
Dialect
getReadLockString in class Dialecttimeout - 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 Dialectquery - 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 Dialectpublic String getQuerySequencesString()
Dialect
getQuerySequencesString in class DB2DialectSchemaUpdatepublic boolean supportsLobValueChangePropogation()
DialectBlob.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 DB2Dialectpublic boolean supportsUnboundedLobLocatorMaterialization()
DialectDialect.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 | |||||||||