|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.java.ao.DatabaseProvider
net.java.ao.db.MySQLDatabaseProvider
public final class MySQLDatabaseProvider
| Field Summary |
|---|
| Fields inherited from class net.java.ao.DatabaseProvider |
|---|
eventManager |
| Constructor Summary | |
|---|---|
MySQLDatabaseProvider(DisposableDataSource dataSource)
|
|
| Method Summary | |
|---|---|
protected boolean |
considerPrecision(DDLField field)
Determines whether or not the database allows explicit precisions for the field in question. |
protected String |
convertTypeToString(DatabaseType<?> type)
Converts the specified type into the database-specific DDL String value. |
protected Set<String> |
getReservedWords()
Retrieves the set of all reserved words for the underlying database. |
protected String |
renderAppend()
Generates any database-specific options which must be appended to the end of a table definition. |
protected String |
renderAutoIncrement()
Generates the DDL fragment required to specify an INTEGER field as auto-incremented. |
protected String |
renderCreateIndex(DDLIndex index)
Generates the database-specific DDL statement required to create a new index. |
protected String |
renderFieldType(DDLField field)
Renders the database-specific DDL type for the field in question. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MySQLDatabaseProvider(DisposableDataSource dataSource)
| Method Detail |
|---|
protected boolean considerPrecision(DDLField field)
DatabaseProviderDetermines whether or not the database allows explicit precisions
for the field in question. This is to support databases such as
Derby which do not support precisions for certain types. By
default, this method returns true.
More often than not, all that is required for this determination is the type. As such, the method signature may change in a future release.
considerPrecision in class DatabaseProviderfield - The field for which precision should/shouldn't be rendered.
true if precision should be rendered, otherwise
false.protected String convertTypeToString(DatabaseType<?> type)
DatabaseProviderDatabaseType#getDefaultName()
method. Subclass implementations should be sure to make a super
call in order to ensure that both default naming and future special
cases are handled appropriately.
convertTypeToString in class DatabaseProvidertype - The type instance to convert to a DDL string.
DatabaseType.getDefaultName()protected String renderAutoIncrement()
DatabaseProviderGenerates the DDL fragment required to specify an INTEGER field as
auto-incremented. For databases which do not support such flags (which
is just about every database exception MySQL), "" is an
acceptable return value. This method should never return null
as it would cause the field rendering method to throw a NullPointerException.
renderAutoIncrement in class DatabaseProviderprotected String renderAppend()
DatabaseProviderGenerates any database-specific options which must be appended to the end of a table definition. The only database I am aware of which requires this is MySQL. For example:
CREATE TABLE test (
id INTEGER NOT NULL AUTO_INCREMENT,
name VARCHAR(45),
PRIMARY KEY(id)
) ENGINE=InnoDB;
The "ENGINE=InnoDB" clause is what is returned by
this method. The default implementation simply returns
null, signifying that no append should be rendered.
renderAppend in class DatabaseProvidernullprotected String renderFieldType(DDLField field)
DatabaseProviderDatabaseProvider.convertTypeToString(DatabaseType)
method, passing the field type. Thus, it is rarely necessary
(if ever) to override this method. It may be deprecated in a
future release.
renderFieldType in class DatabaseProviderfield - The field which contains the type to be rendered.
protected String renderCreateIndex(DDLIndex index)
DatabaseProvidernull returned.
renderCreateIndex in class DatabaseProviderindex - The index to create. This single instance contains all
of the data necessary to create the index, thus no separate
parameters (such as a DDLTable) are required.
null.protected Set<String> getReservedWords()
DatabaseProviderSet instance returned from this
method should guarentee O(1) lookup times, otherwise ORM performance
will suffer greatly.
getReservedWords in class DatabaseProvider
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||