public interface DbAdapter
Modifier and Type | Method and Description |
---|---|
void |
bindParameter(PreparedStatement statement,
ParameterBinding parameterBinding)
Binds an object value to PreparedStatement's 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.
|
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.
|
EJBQLTranslatorFactory |
getEjbqlTranslatorFactory()
Returns a translator factory for EJBQL to SQL translation.
|
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()
Returns SQL identifier quoting strategy object
|
QuotingStrategy |
getQuotingStrategy(boolean needQuotes)
Deprecated.
since 4.0 use
getQuotingStrategy() . |
SelectTranslator |
getSelectTranslator(SelectQuery<?> query,
EntityResolver entityResolver)
Returns a SelectTranslator that works with the adapter target database.
|
boolean |
supportsBatchUpdates()
Returns
true if the target database supports batch updates. |
boolean |
supportsCatalogsOnReverseEngineering()
Returns true if a target database supports catalogs on reverse
engineering.
|
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. |
boolean |
typeSupportsLength(int type) |
DbAdapter |
unwrap()
Allows the users to get access to the adapter decorated by a given
adapter.
|
String getBatchTerminator()
SelectTranslator getSelectTranslator(SelectQuery<?> query, EntityResolver entityResolver)
QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
SQLAction getAction(Query query, DataNode node)
boolean supportsUniqueConstraints()
boolean supportsCatalogsOnReverseEngineering()
boolean supportsGeneratedKeys()
boolean supportsBatchUpdates()
true
if the target database supports batch updates.boolean typeSupportsLength(int type)
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 parametervoid bindParameter(PreparedStatement statement, ParameterBinding parameterBinding) throws SQLException, Exception
SQLException
Exception
String tableTypeForTable()
DatabaseMetaData.getTableTypes
) for a simple user table.String tableTypeForView()
DatabaseMetaData.getTableTypes
) for a view table.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@Deprecated QuotingStrategy getQuotingStrategy(boolean needQuotes)
getQuotingStrategy()
.QuotingStrategy getQuotingStrategy()
DbAdapter unwrap()
EJBQLTranslatorFactory getEjbqlTranslatorFactory()
Copyright © 2001–2019 Apache Cayenne. All rights reserved.