|
|||||||||
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(java.sql.PreparedStatement statement,
java.lang.Object object,
int pos,
int sqlType,
int precision)
Binds an object value to PreparedStatement's numbered parameter. |
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). |
DataNode |
createDataNode(java.lang.String name)
Deprecated. since 1.2 this method is not used as node behavior customization is done via SQLActionVisitor. |
java.lang.String |
createFkConstraint(DbRelationship rel)
Returns a SQL string that can be used to create a foreign key constraint for the relationship. |
java.lang.String |
createTable(DbEntity entity)
Returns a SQL string that can be used to create database table corresponding to ent parameter. |
java.lang.String |
createUniqueConstraint(DbEntity source,
java.util.Collection columns)
Returns a DDL string to create a unique constraint over a set of columns. |
java.lang.String |
dropTable(DbEntity entity)
Returns a SQL string that can be used to drop a database table corresponding to ent parameter. |
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)
|
QueryTranslator |
getQueryTranslator(Query query)
Deprecated. since 1.2 this method is unneeded as customizations are done via custom SQLActions. |
boolean |
shouldRunBatchQuery(DataNode node,
java.sql.Connection con,
BatchQuery query,
OperationObserver delegate)
Deprecated. Since 1.2 this method is obsolete and is ignored across Cayenne. |
boolean |
supportsBatchUpdates()
Returns true if the target database supports batch updates. |
boolean |
supportsFkConstraints()
Returns true if a target database supports FK constraints. |
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()
DataNode createDataNode(java.lang.String name)
QueryTranslator getQueryTranslator(Query query) throws java.lang.Exception
query
parameter. Sets translator "query" and "adapter" property.
This factory method allows subclasses to specify their own translators that implement vendor-specific optimizations.
java.lang.Exception
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.
java.lang.String dropTable(DbEntity entity)
ent
parameter.
java.lang.String createTable(DbEntity entity)
ent
parameter.
java.lang.String createUniqueConstraint(DbEntity source, java.util.Collection 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()
ExtendedType
PkGenerator getPkGenerator()
DbAttribute buildAttribute(java.lang.String name, java.lang.String typeName, int type, int size, int precision, 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)precision
- database column precision (ignored if less than zero)allowNulls
- database column nullable parametervoid bindParameter(java.sql.PreparedStatement statement, java.lang.Object object, int pos, int sqlType, int precision) 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.
boolean shouldRunBatchQuery(DataNode node, java.sql.Connection con, BatchQuery query, OperationObserver delegate) throws java.sql.SQLException, java.lang.Exception
java.sql.SQLException
java.lang.Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |