Package org.apache.cayenne.dba.sqlserver
Class SQLServerAdapter
- java.lang.Object
-
- org.apache.cayenne.dba.JdbcAdapter
-
- org.apache.cayenne.dba.sybase.SybaseAdapter
-
- org.apache.cayenne.dba.sqlserver.SQLServerAdapter
-
- All Implemented Interfaces:
DbAdapter
public class SQLServerAdapter extends SybaseAdapter
Cayenne DbAdapter implementation for Microsoft SQL Server engine.
Microsoft Driver Settings
Sample connection settings to use with MS SQL Server are shown below:
sqlserver.jdbc.username = test sqlserver.jdbc.password = secret sqlserver.jdbc.url = jdbc:sqlserver://192.168.0.65;databaseName=cayenne;SelectMethod=cursor sqlserver.jdbc.driver = com.microsoft.sqlserver.jdbc.SQLServerDriverNote on case-sensitive LIKE: if your application requires case-sensitive LIKE support, ask your DBA to configure the database to use a case-senstitive collation (one with "CS" in symbolic collation name instead of "CI", e.g. "SQL_Latin1_general_CP1_CS_AS").
jTDS Driver Settings
jTDS is an open source driver that can be downloaded from https://jtds.sourceforge.net . It supports both SQLServer and Sybase. Sample SQLServer settings are the following:
sqlserver.jdbc.username = test sqlserver.jdbc.password = secret sqlserver.jdbc.url = jdbc:jtds:sqlserver://192.168.0.65/cayenne sqlserver.jdbc.driver = net.sourceforge.jtds.jdbc.Driver- Since:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field Description static StringTRIM_FUNCTIONDeprecated.since 4.2 unused-
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 SQLServerAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcreateUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)Generates DDL to create unique index that allows multiple NULL values to comply with ANSI SQL, that is default behaviour for other RDBMS.SQLActiongetAction(Query query, DataNode node)Uses SQLServerActionBuilder to create the right action.SQLTreeProcessorgetSqlTreeProcessor()List<String>getSystemCatalogs()List<String>getSystemSchemas()IntegergetVersion()voidsetVersion(Integer version)booleansupportsGeneratedKeysForBatchInserts()Not supported, see: mssql-jdbc #245-
Methods inherited from class org.apache.cayenne.dba.sybase.SybaseAdapter
bindParameter, configureExtendedTypes, createEJBQLTranslatorFactory, createPkGenerator, createQuotingStrategy, createTableAppendColumn, getBatchTerminator
-
Methods inherited from class org.apache.cayenne.dba.JdbcAdapter
buildAttribute, createFkConstraint, createTable, createTableAppendPKClause, dropTableStatements, externalTypesForJdbcType, findResource, getEjbqlTranslatorFactory, getExtendedTypes, getJdbcEventLogger, getPkGenerator, getQuotingStrategy, getSelectTranslator, getSelectTranslator, getType, initExtendedTypes, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, sizeAndPrecision, supportsBatchUpdates, supportsCatalogsOnReverseEngineering, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForTable, tableTypeForView, typeSupportsLength, unwrap
-
-
-
-
Field Detail
-
TRIM_FUNCTION
@Deprecated public static final String TRIM_FUNCTION
Deprecated.since 4.2 unused- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SQLServerAdapter
public SQLServerAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)
-
-
Method Detail
-
supportsGeneratedKeysForBatchInserts
public boolean supportsGeneratedKeysForBatchInserts()
Not supported, see: mssql-jdbc #245- See Also:
DbAdapter.supportsGeneratedKeys()
-
getSqlTreeProcessor
public SQLTreeProcessor getSqlTreeProcessor()
- Specified by:
getSqlTreeProcessorin interfaceDbAdapter- Overrides:
getSqlTreeProcessorin classSybaseAdapter- Returns:
SQLTreeProcessorthat can adjust SQL tree to specific database flavour- Since:
- 4.2
-
getAction
public SQLAction getAction(Query query, DataNode node)
Uses SQLServerActionBuilder to create the right action.- Specified by:
getActionin interfaceDbAdapter- Overrides:
getActionin classJdbcAdapter- Since:
- 1.2
-
getSystemCatalogs
public List<String> getSystemCatalogs()
- Specified by:
getSystemCatalogsin interfaceDbAdapter- Overrides:
getSystemCatalogsin classJdbcAdapter- Returns:
- list of system catalogs
-
getSystemSchemas
public List<String> getSystemSchemas()
- Specified by:
getSystemSchemasin interfaceDbAdapter- Overrides:
getSystemSchemasin classJdbcAdapter- Returns:
- list of system schemas
-
getVersion
public Integer getVersion()
-
setVersion
public void setVersion(Integer version)
- Parameters:
version- of the server as provided by the JDBC driver- Since:
- 4.2
-
createUniqueConstraint
public String createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)
Generates DDL to create unique index that allows multiple NULL values to comply with ANSI SQL, that is default behaviour for other RDBMS.
Example:CREATE UNIQUE NONCLUSTERED INDEX _idx_entity_attribute ON entity(attribute) WHERE attribute IS NOT NULL- Specified by:
createUniqueConstraintin interfaceDbAdapter- Overrides:
createUniqueConstraintin classJdbcAdapter- Parameters:
source- entity for the indexcolumns- source columns for the index- Returns:
- DDL to create unique index
- Since:
- 4.2.1
-
-