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.
|
QuotingStrategy |
getQuotingStrategy()
Returns SQL identifier quoting strategy object
|
SelectTranslator |
getSelectTranslator(FluentSelect<?> query,
EntityResolver entityResolver) |
SelectTranslator |
getSelectTranslator(SelectQuery<?> query,
EntityResolver entityResolver)
Returns a SelectTranslator that works with the adapter target database.
|
Function<Node,Node> |
getSqlTreeProcessor() |
List<String> |
getSystemCatalogs() |
List<String> |
getSystemSchemas() |
void |
setPkGenerator(PkGenerator pkGenerator)
Set custom PK generator associated with this DbAdapter.
|
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.
|
default boolean |
supportsGeneratedKeysForBatchInserts()
Returns true if a target database supports key autogeneration in a batch insert.
|
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)
SelectTranslator getSelectTranslator(FluentSelect<?> query, EntityResolver entityResolver)
Function<Node,Node> getSqlTreeProcessor()
Function
that can adjust SQL tree to specific database flavourSQLAction getAction(Query query, DataNode node)
boolean supportsUniqueConstraints()
boolean supportsCatalogsOnReverseEngineering()
boolean supportsGeneratedKeys()
default boolean supportsGeneratedKeysForBatchInserts()
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()
void setPkGenerator(PkGenerator pkGenerator)
pkGenerator
- to setDbAttribute 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 forQuotingStrategy getQuotingStrategy()
DbAdapter unwrap()
EJBQLTranslatorFactory getEjbqlTranslatorFactory()
Copyright © 2001–2020 Apache Cayenne. All rights reserved.