|
|||||||||
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 |
---|
Fields inherited from class org.apache.cayenne.dba.JdbcAdapter |
---|
extendedTypes, pkGenerator, supportsBatchUpdates, supportsFkConstraints, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler |
Constructor Summary | |
---|---|
MySQLAdapter()
|
Method Summary | |
---|---|
DbAttribute |
buildAttribute(java.lang.String name,
java.lang.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 PkGenerator |
createPkGenerator()
Creates and returns a primary key generator. |
java.lang.String |
createTable(DbEntity entity)
Overrides super implementation to explicitly set table engine to InnoDB if FK constraints are supported by this adapter. |
protected void |
createTableAppendColumn(java.lang.StringBuffer sqlBuffer,
DbAttribute column)
Appends AUTO_INCREMENT clause to the column definition for generated columns. |
protected void |
createTableAppendPKClause(java.lang.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. |
java.lang.String |
dropTable(DbEntity entity)
Returns a SQL string to drop a table corresponding to ent DbEntity. |
SQLAction |
getAction(Query query,
DataNode node)
Uses special action builder to create the right action. |
java.lang.String |
tableTypeForView()
Returns null, since views are not yet supported in MySQL. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MySQLAdapter()
Method Detail |
---|
public SQLAction getAction(Query query, DataNode node)
getAction
in interface DbAdapter
getAction
in class JdbcAdapter
public java.lang.String dropTable(DbEntity entity)
JdbcAdapter
ent
DbEntity.
dropTable
in interface DbAdapter
dropTable
in class JdbcAdapter
protected void configureExtendedTypes(ExtendedTypeMap map)
configureExtendedTypes
in class JdbcAdapter
public DbAttribute buildAttribute(java.lang.String name, java.lang.String typeName, int type, int size, int precision, boolean allowNulls)
DbAdapter
buildAttribute
in interface DbAdapter
buildAttribute
in class JdbcAdapter
name
- 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 precision (ignored if less than zero)allowNulls
- database column nullable parameterpublic java.lang.String tableTypeForView()
tableTypeForView
in interface DbAdapter
tableTypeForView
in class JdbcAdapter
protected PkGenerator createPkGenerator()
createPkGenerator
in class JdbcAdapter
public java.lang.String createTable(DbEntity entity)
createTable
in interface DbAdapter
createTable
in class JdbcAdapter
protected void createTableAppendPKClause(java.lang.StringBuffer sqlBuffer, DbEntity entity)
createTableAppendPKClause
in class JdbcAdapter
protected void createTableAppendColumn(java.lang.StringBuffer sqlBuffer, DbAttribute column)
createTableAppendColumn
in class JdbcAdapter
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |