|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.cayenne.dba.JdbcAdapter
org.apache.cayenne.dba.mysql.MySQLAdapter
public class MySQLAdapter
DbAdapter implementation for MySQL RDBMS.
Foreign key constraints are supported by InnoDB engine and NOT supported by MyISAM
engine. This adapter by default assumes MyISAM, so
JdbcAdapter.supportsFkConstraints() will return false.
Users can manually change this by calling setSupportsFkConstraints(true) or
better by using an AutoAdapter, i.e. not entering the
adapter name at all for the DataNode, letting Cayenne guess it in runtime. In the later
case Cayenne will check the table_type MySQL variable to detect whether InnoDB
is the default, and configure the adapter accordingly.
| Field Summary | |
|---|---|
protected String |
storageEngine
|
| Fields inherited from class org.apache.cayenne.dba.JdbcAdapter |
|---|
ejbqlTranslatorFactory, extendedTypes, identifiersEndQuote, identifiersStartQuote, pkGenerator, supportsBatchUpdates, supportsFkConstraints, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler |
| Constructor Summary | |
|---|---|
MySQLAdapter()
|
|
| Method Summary | |
|---|---|
DbAttribute |
buildAttribute(String name,
String typeName,
int type,
int size,
int precision,
boolean allowNulls)
Creates and returns a DbAttribute based on supplied parameters (usually obtained from database meta data). |
protected void |
configureExtendedTypes(ExtendedTypeMap map)
Installs appropriate ExtendedTypes used as converters for passing values between JDBC and Java layers. |
protected EJBQLTranslatorFactory |
createEJBQLTranslatorFactory()
Creates and returns an EJBQLTranslatorFactory used to generate visitors for
EJBQL to SQL translations. |
protected PkGenerator |
createPkGenerator()
Creates and returns a primary key generator. |
String |
createTable(DbEntity entity)
Overrides super implementation to explicitly set table engine to InnoDB if FK constraints are supported by this adapter. |
void |
createTableAppendColumn(StringBuffer sqlBuffer,
DbAttribute column)
Appends AUTO_INCREMENT clause to the column definition for generated columns. |
protected void |
createTableAppendPKClause(StringBuffer sqlBuffer,
DbEntity entity)
Customizes PK clause semantics to ensure that generated columns are in the beginning of the PK definition, as this seems to be a requirement for InnoDB tables. |
String |
dropTable(DbEntity table)
Deprecated. since 3.0 |
Collection<String> |
dropTableStatements(DbEntity table)
Returns a collection of SQL statements needed to drop a database table. |
SQLAction |
getAction(Query query,
DataNode node)
Uses special action builder to create the right action. |
String |
getStorageEngine()
|
void |
initIdentifiersQuotes()
|
MergerFactory |
mergerFactory()
|
void |
setStorageEngine(String engine)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected String storageEngine
| Constructor Detail |
|---|
public MySQLAdapter()
| Method Detail |
|---|
public void initIdentifiersQuotes()
initIdentifiersQuotes in class JdbcAdapter
public SQLAction getAction(Query query,
DataNode node)
getAction in interface DbAdaptergetAction in class JdbcAdapterpublic String dropTable(DbEntity table)
JdbcAdapter
dropTable in interface DbAdapterdropTable in class JdbcAdapterpublic Collection<String> dropTableStatements(DbEntity table)
DbAdapter
dropTableStatements in interface DbAdapterdropTableStatements in class JdbcAdapterprotected void configureExtendedTypes(ExtendedTypeMap map)
configureExtendedTypes in class JdbcAdapter
public DbAttribute buildAttribute(String name,
String typeName,
int type,
int size,
int precision,
boolean allowNulls)
DbAdapter
buildAttribute in interface DbAdapterbuildAttribute in class JdbcAdaptername - database column nametypeName - database specific type name, may be used as a hint to determine the
right JDBC type.type - JDBC column typesize - database column size (ignored if less than zero)precision - database column scale, i.e. the number of decimal digits (ignored if
less than zero)allowNulls - database column nullable parameterprotected PkGenerator createPkGenerator()
createPkGenerator in class JdbcAdapterprotected EJBQLTranslatorFactory createEJBQLTranslatorFactory()
JdbcAdapterEJBQLTranslatorFactory used to generate visitors for
EJBQL to SQL translations. This method should be overriden by subclasses that need
to customize EJBQL generation.
createEJBQLTranslatorFactory in class JdbcAdapterpublic String createTable(DbEntity entity)
createTable in interface DbAdaptercreateTable in class JdbcAdapter
protected void createTableAppendPKClause(StringBuffer sqlBuffer,
DbEntity entity)
createTableAppendPKClause in class JdbcAdapter
public void createTableAppendColumn(StringBuffer sqlBuffer,
DbAttribute column)
createTableAppendColumn in interface DbAdaptercreateTableAppendColumn in class JdbcAdaptersqlBuffer - the StringBuffer to append the column type tocolumn - the DbAttribute defining the column to append type forpublic MergerFactory mergerFactory()
mergerFactory in interface DbAdaptermergerFactory in class JdbcAdapterpublic String getStorageEngine()
public void setStorageEngine(String engine)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||