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.

Author:
  Andrus Adamchik

Method Summary
`void` | `createAutoPk(DataNode node, List dbEntities)` Generates necessary database objects to provide automatic primary key support.
`List` | `createAutoPkStatements(List 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 dbEntities)` Drops any common database objects associated with automatic primary key generation process.
`List` | `dropAutoPkStatements(List dbEntities)` Returns SQL string needed to drop database objects associated with automatic primary key generation.
`Object` | `generatePkForDbEntity(DataNode dataNode, DbEntity ent)` Generates new (unique and non-repeating) primary key for specified DbEntity.
`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 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 autogeneration support
  Throws:
    `Exception`

### createAutoPkStatements

    List createAutoPkStatements(List 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 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 autogeneration support should be dropped.
  Throws:
    `Exception`

### dropAutoPkStatements

    List dropAutoPkStatements(List 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

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

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

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