Package org.apache.cayenne.dba
Interface DbAdapter
- All Known Implementing Classes:
- AutoAdapter,- DB2Adapter,- DerbyAdapter,- FirebirdAdapter,- FrontBaseAdapter,- H2Adapter,- HSQLDBAdapter,- HSQLDBNoSchemaAdapter,- IngresAdapter,- JdbcAdapter,- MySQLAdapter,- OpenBaseAdapter,- Oracle8Adapter,- OracleAdapter,- PostgresAdapter,- SQLiteAdapter,- SQLServerAdapter,- SybaseAdapter
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 SummaryModifier and Type Method Description voidbindParameter(PreparedStatement statement, ParameterBinding parameterBinding)Binds an object value to PreparedStatement's parameter.DbAttributebuildAttribute(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).StringcreateFkConstraint(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.StringcreateTable(DbEntity entity)Returns a SQL string that can be used to create database table corresponding toentityparameter.voidcreateTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column)Append the column type part of a "create table" to the givenStringBufferStringcreateUniqueConstraint(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.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 JDBCtype.SQLActiongetAction(Query query, DataNode node)Returns an instance of SQLAction that should handle the query.StringgetBatchTerminator()Returns a String used to terminate a batch in command-line tools.EJBQLTranslatorFactorygetEjbqlTranslatorFactory()Returns a translator factory for EJBQL to SQL translation.ExtendedTypeMapgetExtendedTypes()Returns a map of ExtendedTypes that is used to translate values between Java and JDBC layer.PkGeneratorgetPkGenerator()Returns primary key generator associated with this DbAdapter.QualifierTranslatorgetQualifierTranslator(QueryAssembler queryAssembler)QuotingStrategygetQuotingStrategy()Returns SQL identifier quoting strategy objectSelectTranslatorgetSelectTranslator(SelectQuery<?> query, EntityResolver entityResolver)Returns a SelectTranslator that works with the adapter target database.List<String>getSystemCatalogs()List<String>getSystemSchemas()voidsetPkGenerator(PkGenerator pkGenerator)Set custom PK generator associated with this DbAdapter.booleansupportsBatchUpdates()Returnstrueif the target database supports batch updates.booleansupportsCatalogsOnReverseEngineering()Returns true if a target database supports catalogs on reverse engineering.booleansupportsGeneratedKeys()Returns true if a target database supports key autogeneration.booleansupportsUniqueConstraints()Returns true if a target database supports UNIQUE constraints.StringtableTypeForTable()Returns the name of the table type (as returned byDatabaseMetaData.getTableTypes) for a simple user table.StringtableTypeForView()Returns the name of the table type (as returned byDatabaseMetaData.getTableTypes) for a view table.booleantypeSupportsLength(int type)DbAdapterunwrap()Allows the users to get access to the adapter decorated by a given adapter.
- 
Method Details- 
getBatchTerminatorString getBatchTerminator()Returns a String used to terminate a batch in command-line tools. E.g. ";" on Oracle or "go" on Sybase.- Since:
- 1.0.4
 
- 
getSelectTranslatorReturns a SelectTranslator that works with the adapter target database.- Since:
- 4.0
 
- 
getQualifierTranslator
- 
getActionReturns an instance of SQLAction that should handle the query.- Since:
- 1.2
 
- 
supportsUniqueConstraintsboolean supportsUniqueConstraints()Returns true if a target database supports UNIQUE constraints.- Since:
- 1.1
 
- 
supportsCatalogsOnReverseEngineeringboolean supportsCatalogsOnReverseEngineering()Returns true if a target database supports catalogs on reverse engineering.- Since:
- 4.0
 
- 
supportsGeneratedKeysboolean supportsGeneratedKeys()Returns true if a target database supports key autogeneration. This feature also requires JDBC3-compliant driver.- Since:
- 1.2
 
- 
supportsBatchUpdatesboolean supportsBatchUpdates()Returnstrueif the target database supports batch updates.
- 
typeSupportsLengthboolean typeSupportsLength(int type)
- 
dropTableStatementsReturns a collection of SQL statements needed to drop a database table.- Since:
- 3.0
 
- 
createTableReturns a SQL string that can be used to create database table corresponding toentityparameter.
- 
createUniqueConstraintReturns a DDL string to create a unique constraint over a set of columns, or null if the unique constraints are not supported.- Since:
- 1.1
 
- 
createFkConstraintReturns a SQL string that can be used to create a foreign key constraint for the relationship, or null if foreign keys are not supported.
- 
externalTypesForJdbcTypeReturns an array of RDBMS types that can be used with JDBCtype. Valid JDBC types are defined in java.sql.Types.
- 
getExtendedTypesExtendedTypeMap getExtendedTypes()Returns a map of ExtendedTypes that is used to translate values between Java and JDBC layer.
- 
getPkGeneratorPkGenerator getPkGenerator()Returns primary key generator associated with this DbAdapter.
- 
setPkGeneratorSet custom PK generator associated with this DbAdapter.- Parameters:
- pkGenerator- to set
- Since:
- 4.1
 
- 
buildAttributeDbAttribute 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).- Parameters:
- name- database column name
- typeName- database specific type name, may be used as a hint to determine the right JDBC type.
- type- JDBC column type
- size- 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
 
- 
bindParametervoid bindParameter(PreparedStatement statement, ParameterBinding parameterBinding) throws SQLException, ExceptionBinds an object value to PreparedStatement's parameter.- Throws:
- SQLException
- Exception
 
- 
tableTypeForTableString tableTypeForTable()Returns the name of the table type (as returned byDatabaseMetaData.getTableTypes) for a simple user table.
- 
tableTypeForViewString tableTypeForView()Returns the name of the table type (as returned byDatabaseMetaData.getTableTypes) for a view table.
- 
createTableAppendColumnAppend the column type part of a "create table" to the givenStringBuffer- Parameters:
- sqlBuffer- the- StringBufferto append the column type to
- column- the- DbAttributedefining the column to append type for
- Since:
- 3.0
 
- 
getQuotingStrategyQuotingStrategy getQuotingStrategy()Returns SQL identifier quoting strategy object- Since:
- 4.0
 
- 
unwrapDbAdapter unwrap()Allows the users to get access to the adapter decorated by a given adapter.- Since:
- 4.0
 
- 
getEjbqlTranslatorFactoryEJBQLTranslatorFactory getEjbqlTranslatorFactory()Returns a translator factory for EJBQL to SQL translation.- Since:
- 4.0
 
- 
getSystemCatalogs- Returns:
- list of system catalogs
- Since:
- 4.1
 
- 
getSystemSchemas- Returns:
- list of system schemas
- Since:
- 4.1
 
 
-