Package org.apache.cayenne.dba.postgres
Class PostgresAdapter
java.lang.Object
org.apache.cayenne.dba.JdbcAdapter
org.apache.cayenne.dba.postgres.PostgresAdapter
- All Implemented Interfaces:
DbAdapter
public class PostgresAdapter extends JdbcAdapter
DbAdapter implementation for PostgreSQL
RDBMS . Sample connection settings to use with PostgreSQL are shown
below:
postgres.jdbc.username = test
postgres.jdbc.password = secret
postgres.jdbc.url = jdbc:postgresql://serverhostname/cayenne
postgres.jdbc.driver = org.postgresql.Driver
-
Field Summary
Fields inherited from class org.apache.cayenne.dba.JdbcAdapter
batchQueryBuilderFactory, caseInsensitiveCollations, ejbqlTranslatorFactory, extendedTypes, logger, quotingStrategy, resourceLocator, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler -
Constructor Summary
Constructors Constructor Description PostgresAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry) -
Method Summary
Modifier and Type Method Description voidbindParameter(PreparedStatement statement, ParameterBinding binding)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).protected voidconfigureExtendedTypes(ExtendedTypeMap map)Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.protected PkGeneratorcreatePkGenerator()Creates and returns a primary key generator.StringcreateTable(DbEntity ent)Customizes table creating procedure for PostgreSQL.Collection<String>dropTableStatements(DbEntity table)Adds the CASCADE option to the DROP TABLE clause.SQLActiongetAction(Query query, DataNode node)Uses PostgresActionBuilder to create the right action.QualifierTranslatorgetQualifierTranslator(QueryAssembler queryAssembler)Returns a trimming translator.SelectTranslatorgetSelectTranslator(SelectQuery<?> query, EntityResolver entityResolver)Returns a SelectTranslator that works with the adapter target database.booleansupportsCatalogsOnReverseEngineering()Returns true.booleantypeSupportsLength(int type)Returns true if supplied type can have a length attribute as a part of column definitionMethods inherited from class org.apache.cayenne.dba.JdbcAdapter
createEJBQLTranslatorFactory, createFkConstraint, createQuotingStrategy, createTableAppendColumn, createTableAppendPKClause, createUniqueConstraint, externalTypesForJdbcType, findResource, getBatchTerminator, getEjbqlTranslatorFactory, getExtendedTypes, getJdbcEventLogger, getPkGenerator, getQuotingStrategy, getSystemCatalogs, getSystemSchemas, getType, initExtendedTypes, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, sizeAndPrecision, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForTable, tableTypeForView, unwrap
-
Field Details
-
BYTEA
- See Also:
- Constant Field Values
-
-
Constructor Details
-
PostgresAdapter
public PostgresAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)
-
-
Method Details
-
getSelectTranslator
Description copied from interface:DbAdapterReturns a SelectTranslator that works with the adapter target database.- Specified by:
getSelectTranslatorin interfaceDbAdapter- Overrides:
getSelectTranslatorin classJdbcAdapter- Since:
- 4.0
-
getAction
Uses PostgresActionBuilder to create the right action.- Specified by:
getActionin interfaceDbAdapter- Overrides:
getActionin classJdbcAdapter- Since:
- 1.2
-
configureExtendedTypes
Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.- Overrides:
configureExtendedTypesin classJdbcAdapter
-
buildAttribute
public DbAttribute buildAttribute(String name, String typeName, int type, int size, int scale, boolean allowNulls)Description copied from interface:DbAdapterCreates and returns a DbAttribute based on supplied parameters (usually obtained from database meta data).- Specified by:
buildAttributein interfaceDbAdapter- Overrides:
buildAttributein classJdbcAdapter- Parameters:
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
-
bindParameter
public void bindParameter(PreparedStatement statement, ParameterBinding binding) throws SQLException, ExceptionDescription copied from interface:DbAdapterBinds an object value to PreparedStatement's parameter.- Specified by:
bindParameterin interfaceDbAdapter- Overrides:
bindParameterin classJdbcAdapter- Throws:
SQLExceptionException
-
createTable
Customizes table creating procedure for PostgreSQL. One difference with generic implementation is that "bytea" type has no explicit length unlike similar binary types in other databases.- Specified by:
createTablein interfaceDbAdapter- Overrides:
createTablein classJdbcAdapter- Since:
- 1.0.2
-
typeSupportsLength
public boolean typeSupportsLength(int type)Description copied from class:JdbcAdapterReturns true if supplied type can have a length attribute as a part of column definition- Specified by:
typeSupportsLengthin interfaceDbAdapter- Overrides:
typeSupportsLengthin classJdbcAdapter
-
dropTableStatements
Adds the CASCADE option to the DROP TABLE clause.- Specified by:
dropTableStatementsin interfaceDbAdapter- Overrides:
dropTableStatementsin classJdbcAdapter
-
getQualifierTranslator
Returns a trimming translator.- Specified by:
getQualifierTranslatorin interfaceDbAdapter- Overrides:
getQualifierTranslatorin classJdbcAdapter
-
createPkGenerator
Description copied from class:JdbcAdapterCreates and returns a primary key generator. This factory method should be overriden by JdbcAdapter subclasses to provide custom implementations of PKGenerator.- Overrides:
createPkGeneratorin classJdbcAdapter- See Also:
JdbcAdapter.createPkGenerator()
-
supportsCatalogsOnReverseEngineering
public boolean supportsCatalogsOnReverseEngineering()Description copied from class:JdbcAdapterReturns true.- Specified by:
supportsCatalogsOnReverseEngineeringin interfaceDbAdapter- Overrides:
supportsCatalogsOnReverseEngineeringin classJdbcAdapter
-