Package org.apache.cayenne.dba.sqlserver
Class SQLServerPkGenerator
java.lang.Object
org.apache.cayenne.dba.JdbcPkGenerator
org.apache.cayenne.dba.oracle.OraclePkGenerator
org.apache.cayenne.dba.sqlserver.SQLServerPkGenerator
- All Implemented Interfaces:
PkGenerator
The default PK generator for MS SQL,
which uses sequences to generate a PK for an integer key type
and NEWID() for UNIQUEIDENTIFIER key type
- Since:
- 4.1
-
Field Summary
Fields inherited from class org.apache.cayenne.dba.JdbcPkGenerator
adapter, DEFAULT_PK_CACHE_SIZE, pkCache, pkCacheSize, pkStartValue -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateAutoPkStatements(List<DbEntity> dbEntities) Creates a list of CREATE SEQUENCE statements for the list of DbEntities.protected StringdropAutoPkStatements(List<DbEntity> dbEntities) Creates a list of DROP SEQUENCE statements for the list of DbEntities.generatePk(DataNode node, DbAttribute pk) Generates a unique and non-repeating primary key for specified dbEntity.protected Stringprotected StringguidPkFromDatabase(DataNode node, DbEntity entity) protected Stringprotected StringselectNextValQuery(String sequenceName) protected StringsequenceName(DbEntity entity) Returns expected primary key sequence name for a DbEntity.Methods inherited from class org.apache.cayenne.dba.oracle.OraclePkGenerator
createAutoPk, dropAutoPk, dropSequenceString, getExistingSequences, longPkFromDatabase, pkCacheSizeMethods inherited from class org.apache.cayenne.dba.JdbcPkGenerator
autoPkTableExists, dropAutoPkString, getAdapter, getPkCacheSize, pkCreateString, pkDeleteString, pkSelectString, pkTableCreateString, pkUpdateString, reset, runUpdate, setAdapter, setPkCacheSize
-
Constructor Details
-
SQLServerPkGenerator
public SQLServerPkGenerator() -
SQLServerPkGenerator
-
-
Method Details
-
createSequenceString
- Overrides:
createSequenceStringin classOraclePkGenerator
-
getSequencePrefix
- Overrides:
getSequencePrefixin classOraclePkGenerator
-
selectNextValQuery
- Overrides:
selectNextValQueryin classOraclePkGenerator
-
createAutoPkStatements
Description copied from class:OraclePkGeneratorCreates a list of CREATE SEQUENCE statements for the list of DbEntities.- Specified by:
createAutoPkStatementsin interfacePkGenerator- Overrides:
createAutoPkStatementsin classOraclePkGenerator
-
dropAutoPkStatements
Description copied from class:OraclePkGeneratorCreates a list of DROP SEQUENCE statements for the list of DbEntities.- Specified by:
dropAutoPkStatementsin interfacePkGenerator- Overrides:
dropAutoPkStatementsin classOraclePkGenerator
-
generatePk
Description copied from class:JdbcPkGeneratorGenerates a unique and non-repeating primary key for specified dbEntity.This implementation is naive since it does not lock the database rows when executing select and subsequent update. Adapter-specific implementations are more robust.
- Specified by:
generatePkin interfacePkGenerator- Overrides:
generatePkin classJdbcPkGenerator- Throws:
Exception
-
selectAllSequencesQuery
- Overrides:
selectAllSequencesQueryin classOraclePkGenerator
-
sequenceName
Description copied from class:OraclePkGeneratorReturns expected primary key sequence name for a DbEntity.- Overrides:
sequenceNamein classOraclePkGenerator
-
guidPkFromDatabase
- Throws:
SQLException
-