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
public class SQLServerPkGenerator extends OraclePkGenerator
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 SummaryFields inherited from class org.apache.cayenne.dba.JdbcPkGeneratoradapter, DEFAULT_PK_CACHE_SIZE, pkCache, pkCacheSize, pkStartValue
- 
Constructor SummaryConstructors Modifier Constructor Description SQLServerPkGenerator()protectedSQLServerPkGenerator(JdbcAdapter adapter)
- 
Method SummaryModifier and Type Method Description List<String>createAutoPkStatements(List<DbEntity> dbEntities)Creates a list of CREATE SEQUENCE statements for the list of DbEntities.protected StringcreateSequenceString(DbEntity ent)List<String>dropAutoPkStatements(List<DbEntity> dbEntities)Creates a list of DROP SEQUENCE statements for the list of DbEntities.ObjectgeneratePk(DataNode node, DbAttribute pk)Generates a unique and non-repeating primary key for specified dbEntity.protected StringgetSequencePrefix()protected StringguidPkFromDatabase(DataNode node, DbEntity entity)protected StringselectAllSequencesQuery()protected 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.OraclePkGeneratorcreateAutoPk, dropAutoPk, dropSequenceString, getExistingSequences, longPkFromDatabase, pkCacheSizeMethods inherited from class org.apache.cayenne.dba.JdbcPkGeneratorautoPkTableExists, dropAutoPkString, getAdapter, getPkCacheSize, pkCreateString, pkDeleteString, pkSelectString, pkTableCreateString, pkUpdateString, reset, runUpdate, setAdapter, setPkCacheSize
- 
Constructor Details- 
SQLServerPkGeneratorpublic SQLServerPkGenerator()
- 
SQLServerPkGenerator
 
- 
- 
Method Details- 
createSequenceString- Overrides:
- createSequenceStringin class- OraclePkGenerator
 
- 
getSequencePrefix- Overrides:
- getSequencePrefixin class- OraclePkGenerator
 
- 
selectNextValQuery- Overrides:
- selectNextValQueryin class- OraclePkGenerator
 
- 
createAutoPkStatementsDescription copied from class:OraclePkGeneratorCreates a list of CREATE SEQUENCE statements for the list of DbEntities.- Specified by:
- createAutoPkStatementsin interface- PkGenerator
- Overrides:
- createAutoPkStatementsin class- OraclePkGenerator
 
- 
dropAutoPkStatementsDescription copied from class:OraclePkGeneratorCreates a list of DROP SEQUENCE statements for the list of DbEntities.- Specified by:
- dropAutoPkStatementsin interface- PkGenerator
- Overrides:
- dropAutoPkStatementsin class- OraclePkGenerator
 
- 
generatePkDescription 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 interface- PkGenerator
- Overrides:
- generatePkin class- JdbcPkGenerator
- Throws:
- Exception
 
- 
selectAllSequencesQuery- Overrides:
- selectAllSequencesQueryin class- OraclePkGenerator
 
- 
sequenceNameDescription copied from class:OraclePkGeneratorReturns expected primary key sequence name for a DbEntity.- Overrides:
- sequenceNamein class- OraclePkGenerator
 
- 
guidPkFromDatabase- Throws:
- SQLException
 
 
-