Package org.apache.cayenne.dba
Interface PkGenerator
-
- All Known Implementing Classes:
DB2PkGenerator
,DerbyPkGenerator
,FrontBasePkGenerator
,H2PkGenerator
,IngresPkGenerator
,JdbcPkGenerator
,MySQLPkGenerator
,OpenBasePkGenerator
,OraclePkGenerator
,PostgresPkGenerator
,SQLServerPkGenerator
,SybasePkGenerator
public interface PkGenerator
Defines methods to support automatic primary key generation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
createAutoPk(DataNode node, List<DbEntity> dbEntities)
Generates necessary database objects to provide automatic primary key support.List<String>
createAutoPkStatements(List<DbEntity> dbEntities)
Returns a list of SQL strings needed to generates database objects to provide automatic primary support for the list of entities.void
dropAutoPk(DataNode node, List<DbEntity> dbEntities)
Drops any common database objects associated with automatic primary key generation process.List<String>
dropAutoPkStatements(List<DbEntity> dbEntities)
Returns SQL string needed to drop database objects associated with automatic primary key generation.Object
generatePk(DataNode dataNode, DbAttribute pk)
Generates a unique and non-repeating primary key for specified PK attribute.DbAdapter
getAdapter()
Get an adapter associated with current PkGeneratorvoid
reset()
Resets any cached primary keys forcing generator to go to the database next time id generation is requested.void
setAdapter(DbAdapter q)
Install the adapter associated with current PkGenerator
-
-
-
Method Detail
-
createAutoPk
void createAutoPk(DataNode node, List<DbEntity> dbEntities) throws Exception
Generates necessary database objects to provide automatic primary key support.- Parameters:
node
- node that provides access to a DataSource.dbEntities
- a list of entities that require primary key auto-generation support- Throws:
Exception
-
createAutoPkStatements
List<String> createAutoPkStatements(List<DbEntity> dbEntities)
Returns a list of SQL strings needed to generates database objects to provide automatic primary support for the list of entities. No actual database operations are performed.
-
dropAutoPk
void dropAutoPk(DataNode node, List<DbEntity> dbEntities) throws Exception
Drops any common database objects associated with automatic primary key generation process. This may be lookup tables, special stored procedures or sequences.- Parameters:
node
- node that provides access to a DataSource.dbEntities
- a list of entities whose primary key auto-generation support should be dropped.- Throws:
Exception
-
dropAutoPkStatements
List<String> dropAutoPkStatements(List<DbEntity> dbEntities)
Returns SQL string needed to drop database objects associated with automatic primary key generation. No actual database operations are performed.
-
generatePk
Object generatePk(DataNode dataNode, DbAttribute pk) throws Exception
Generates a unique and non-repeating primary key for specified PK attribute.- Throws:
Exception
- Since:
- 3.0
-
setAdapter
void setAdapter(DbAdapter q)
Install the adapter associated with current PkGenerator- Since:
- 4.1
-
getAdapter
DbAdapter getAdapter()
Get an adapter associated with current PkGenerator- Since:
- 4.1
-
reset
void reset()
Resets any cached primary keys forcing generator to go to the database next time id generation is requested. May not be applicable for all generator implementations.
-
-