Package org.apache.cayenne.dba
Interface PkGenerator
-
- All Known Implementing Classes:
DB2PkGenerator
,DerbyPkGenerator
,FrontBasePkGenerator
,H2PkGenerator
,IngresPkGenerator
,JdbcPkGenerator
,MySQLPkGenerator
,OpenBasePkGenerator
,OraclePkGenerator
,PostgresPkGenerator
,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.void
reset()
Resets any cached primary keys forcing generator to go to the database next time id generation is requested.
-
-
-
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
-
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.
-
-