|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DbAdapter
A Cayenne extension point that abstracts the differences between specifics of JDBC interfaces to various databases. Cayenne already ships with a number of built-in adapters for most common databases and users can provide their own custom adapters.
Method Summary | |
---|---|
void |
bindParameter(java.sql.PreparedStatement statement,
java.lang.Object object,
int pos,
int sqlType,
int scale)
Binds an object value to PreparedStatement's numbered parameter. |
DbAttribute |
buildAttribute(java.lang.String name,
java.lang.String typeName,
int type,
int size,
int scale,
boolean allowNulls)
Creates and returns a DbAttribute based on supplied parameters (usually obtained from database meta data). |
java.lang.String |
createFkConstraint(DbRelationship rel)
Returns a SQL string that can be used to create a foreign key constraint for the relationship, or null if foreign keys are not supported. |
java.lang.String |
createTable(DbEntity entity)
Returns a SQL string that can be used to create database table corresponding to entity parameter. |
void |
createTableAppendColumn(java.lang.StringBuffer sqlBuffer,
DbAttribute column)
Append the column type part of a "create table" to the given StringBuffer |
java.lang.String |
createUniqueConstraint(DbEntity source,
java.util.Collection<DbAttribute> columns)
Returns a DDL string to create a unique constraint over a set of columns, or null if the unique constraints are not supported. |
java.util.Collection<java.lang.String> |
dropTableStatements(DbEntity table)
Returns a collection of SQL statements needed to drop a database table. |
java.lang.String[] |
externalTypesForJdbcType(int type)
Returns an array of RDBMS types that can be used with JDBC type . |
SQLAction |
getAction(Query query,
DataNode node)
Returns an instance of SQLAction that should handle the query. |
java.lang.String |
getBatchTerminator()
Returns a String used to terminate a batch in command-line tools. |
ExtendedTypeMap |
getExtendedTypes()
Returns a map of ExtendedTypes that is used to translate values between Java and JDBC layer. |
PkGenerator |
getPkGenerator()
Returns primary key generator associated with this DbAdapter. |
QualifierTranslator |
getQualifierTranslator(QueryAssembler queryAssembler)
|
QuotingStrategy |
getQuotingStrategy(boolean needQuotes)
|
MergerFactory |
mergerFactory()
|
boolean |
supportsBatchUpdates()
Returns true if the target database supports batch updates. |
boolean |
supportsGeneratedKeys()
Returns true if a target database supports key autogeneration. |
boolean |
supportsUniqueConstraints()
Returns true if a target database supports UNIQUE constraints. |
java.lang.String |
tableTypeForTable()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes ) for a simple user table. |
java.lang.String |
tableTypeForView()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes ) for a view table. |
Method Detail |
---|
java.lang.String getBatchTerminator()
QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
SQLAction getAction(Query query, DataNode node)
boolean supportsUniqueConstraints()
boolean supportsGeneratedKeys()
boolean supportsBatchUpdates()
true
if the target database supports batch updates.
java.util.Collection<java.lang.String> dropTableStatements(DbEntity table)
java.lang.String createTable(DbEntity entity)
entity
parameter.
java.lang.String createUniqueConstraint(DbEntity source, java.util.Collection<DbAttribute> columns)
java.lang.String createFkConstraint(DbRelationship rel)
java.lang.String[] externalTypesForJdbcType(int type)
type
. Valid
JDBC types are defined in java.sql.Types.
ExtendedTypeMap getExtendedTypes()
PkGenerator getPkGenerator()
DbAttribute buildAttribute(java.lang.String name, java.lang.String typeName, int type, int size, int scale, boolean allowNulls)
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)scale
- database column scale, i.e. the number of decimal digits (ignored if
less than zero)allowNulls
- database column nullable parametervoid bindParameter(java.sql.PreparedStatement statement, java.lang.Object object, int pos, int sqlType, int scale) throws java.sql.SQLException, java.lang.Exception
java.sql.SQLException
java.lang.Exception
java.lang.String tableTypeForTable()
DatabaseMetaData.getTableTypes
) for a simple user table.
java.lang.String tableTypeForView()
DatabaseMetaData.getTableTypes
) for a view table.
MergerFactory mergerFactory()
void createTableAppendColumn(java.lang.StringBuffer sqlBuffer, DbAttribute column)
StringBuffer
sqlBuffer
- the StringBuffer
to append the column type tocolumn
- the DbAttribute
defining the column to append type forQuotingStrategy getQuotingStrategy(boolean needQuotes)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |