org.apache.cayenne.dba
Interface PkGenerator

All Known Implementing Classes:
DB2PkGenerator, DerbyPkGenerator, FrontBasePkGenerator, IngresPkGenerator, JdbcPkGenerator, MySQLPkGenerator, OpenBasePkGenerator, OraclePkGenerator, PostgresPkGenerator, SybasePkGenerator

public interface PkGenerator

Defines methods to support automatic primary key generation.


Method Summary
 void createAutoPk(DataNode node, java.util.List<DbEntity> dbEntities)
          Generates necessary database objects to provide automatic primary key support.
 java.util.List<java.lang.String> createAutoPkStatements(java.util.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, java.util.List<DbEntity> dbEntities)
          Drops any common database objects associated with automatic primary key generation process.
 java.util.List<java.lang.String> dropAutoPkStatements(java.util.List<DbEntity> dbEntities)
          Returns SQL string needed to drop database objects associated with automatic primary key generation.
 java.lang.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,
                  java.util.List<DbEntity> dbEntities)
                  throws java.lang.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:
java.lang.Exception

createAutoPkStatements

java.util.List<java.lang.String> createAutoPkStatements(java.util.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,
                java.util.List<DbEntity> dbEntities)
                throws java.lang.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:
java.lang.Exception

dropAutoPkStatements

java.util.List<java.lang.String> dropAutoPkStatements(java.util.List<DbEntity> dbEntities)
Returns SQL string needed to drop database objects associated with automatic primary key generation. No actual database operations are performed.


generatePk

java.lang.Object generatePk(DataNode dataNode,
                            DbAttribute pk)
                            throws java.lang.Exception
Generates a unique and non-repeating primary key for specified PK attribute.

Throws:
java.lang.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.



Copyright © 2001-2012 Apache Cayenne. All Rights Reserved.