|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface DbAdapter
Defines API needed to handle differences between various databases accessed via JDBC. Implementing classed are intended to be pluggable database-specific adapters. DbAdapter-based architecture is introduced to solve the following problems:
| Method Summary | |
|---|---|
void |
bindParameter(PreparedStatement statement,
Object object,
int pos,
int sqlType,
int scale)
Binds an object value to PreparedStatement's numbered parameter. |
DbAttribute |
buildAttribute(String name,
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). |
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. |
String |
createTable(DbEntity entity)
Returns a SQL string that can be used to create database table corresponding to entity parameter. |
void |
createTableAppendColumn(StringBuffer sqlBuffer,
DbAttribute column)
Append the column type part of a "create table" to the given StringBuffer |
String |
createUniqueConstraint(DbEntity source,
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. |
String |
dropTable(DbEntity entity)
Deprecated. since 3.0 Cayenne supports 'dropTableStatements' to allow multiple statements to be executed when dropping the table. |
Collection<String> |
dropTableStatements(DbEntity table)
Returns a collection of SQL statements needed to drop a database table. |
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. |
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)
|
MergerFactory |
mergerFactory()
|
boolean |
supportsBatchUpdates()
Returns true if the target database supports batch updates. |
boolean |
supportsFkConstraints()
Deprecated. since 3.0 - almost all DB's support FK's now and also this flag is less relevant for Cayenne now. |
boolean |
supportsGeneratedKeys()
Returns true if a target database supports key autogeneration. |
boolean |
supportsUniqueConstraints()
Returns true if a target database supports UNIQUE constraints. |
String |
tableTypeForTable()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a simple user table. |
String |
tableTypeForView()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a view table. |
| Method Detail |
|---|
String getBatchTerminator()
QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
SQLAction getAction(Query query,
DataNode node)
boolean supportsFkConstraints()
boolean supportsUniqueConstraints()
boolean supportsGeneratedKeys()
boolean supportsBatchUpdates()
true if the target database supports batch updates.
String dropTable(DbEntity entity)
Collection<String> dropTableStatements(DbEntity table)
String createTable(DbEntity entity)
entity parameter.
String createUniqueConstraint(DbEntity source,
Collection<DbAttribute> columns)
String createFkConstraint(DbRelationship rel)
String[] externalTypesForJdbcType(int type)
type.
Valid JDBC types are defined in java.sql.Types.
ExtendedTypeMap getExtendedTypes()
PkGenerator getPkGenerator()
DbAttribute buildAttribute(String name,
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 parameter
void bindParameter(PreparedStatement statement,
Object object,
int pos,
int sqlType,
int scale)
throws SQLException,
Exception
SQLException
ExceptionString tableTypeForTable()
DatabaseMetaData.getTableTypes) for a simple user table.
String tableTypeForView()
DatabaseMetaData.getTableTypes) for a view table.
MergerFactory mergerFactory()
void createTableAppendColumn(StringBuffer sqlBuffer,
DbAttribute column)
StringBuffer
sqlBuffer - the StringBuffer to append the column type tocolumn - the DbAttribute defining the column to append type for
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||