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, 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.
`Object` | `generatePkForDbEntity(DataNode dataNode, DbEntity ent)` Deprecated. since 3.0 use `generatePk(DataNode, DbAttribute)`.
`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.

### generatePkForDbEntity

    Object generatePkForDbEntity(DataNode dataNode,
                                 DbEntity ent)
                                 throws Exception

  Deprecated. since 3.0 use `generatePk(DataNode, DbAttribute)`.

  Generates new (unique and non-repeating) primary key for specified DbEntity.

  Parameters:
    `ent` - DbEntity for which automatic PK is generated.
  Throws:
    `Exception`

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

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-2010 Apache Cayenne. All Rights Reserved.