Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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