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.hibernate.id
Class TableGenerator

    java.lang.Object
      org.hibernate.engine.TransactionHelper
          org.hibernate.id.TableGenerator

All Implemented Interfaces:
  Configurable, IdentifierGenerator, PersistentIdentifierGenerator

Direct Known Subclasses:
  TableHiLoGenerator

    public class TableGenerator

extends TransactionHelper
implements PersistentIdentifierGenerator, Configurable

An `IdentifierGenerator` that uses a database table to store the last generated value. It is not intended that applications use this strategy directly. However, it may be used to build other (efficient) strategies. The returned type is `Integer`.
The hi value MUST be fetched in a seperate transaction to the `Session` transaction so the generator must be able to obtain a new connection and commit it. Hence this implementation may not be used when Hibernate is fetching connections when the user is supplying connections.
The returned value is of type `integer`.
Mapping parameters supported: table, column

Author:
  Gavin King
See Also:
  `TableHiLoGenerator`

Field Summary
`static String` | `COLUMN` The column parameter
`static String` | `DEFAULT_COLUMN_NAME` Default column name
`static String` | `DEFAULT_TABLE_NAME` Default table name
`static String` | `TABLE` The table parameter

Fields inherited from interface org.hibernate.id.PersistentIdentifierGenerator
`CATALOG, PK, SCHEMA, SQL, TABLES`

Fields inherited from interface org.hibernate.id.IdentifierGenerator
`ENTITY_NAME`

Constructor Summary
`TableGenerator()`

Method Summary
`void` | `configure(Type type, Properties params, Dialect dialect)` Configure this instance, given the value of parameters specified by the user as `<param>` elements.
`Serializable` | `doWorkInCurrentTransaction(Connection conn, String sql)` The work to be done
`Serializable` | `generate(SessionImplementor session, Object object)` Generate a new identifier.
`Object` | `generatorKey()` Return a key unique to the underlying database objects.
`String[]` | `sqlCreateStrings(Dialect dialect)` The SQL required to create the underlying database objects.
`String[]` | `sqlDropStrings(Dialect dialect)` The SQL required to remove the underlying database objects.

Methods inherited from class org.hibernate.engine.TransactionHelper
`doWorkInNewTransaction`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### COLUMN

    public static final String COLUMN

  The column parameter

  See Also:
    Constant Field Values

### DEFAULT_COLUMN_NAME

    public static final String DEFAULT_COLUMN_NAME

  Default column name

  See Also:
    Constant Field Values

### TABLE

    public static final String TABLE

  The table parameter

  See Also:
    Constant Field Values

### DEFAULT_TABLE_NAME

    public static final String DEFAULT_TABLE_NAME

  Default table name

  See Also:
    Constant Field Values

Constructor Detail

### TableGenerator

    public TableGenerator()

Method Detail

### configure

    public void configure(Type type,
                          Properties params,
                          Dialect dialect)

  Description copied from interface: `Configurable`
  Configure this instance, given the value of parameters specified by the user as `<param>` elements. This method is called just once, following instantiation.

  Specified by:
    `configure` in interface `Configurable`
    `params` - param values, keyed by parameter name

### generate

    public Serializable generate(SessionImplementor session,
                                 Object object)
                          throws HibernateException

  Description copied from interface: `IdentifierGenerator`
  Generate a new identifier.

  Specified by:
    `generate` in interface `IdentifierGenerator`
    `object` - the entity or toplevel collection for which the id is being generated
  Returns:
    a new identifier
  Throws:
    `HibernateException`

### sqlCreateStrings

    public String[] sqlCreateStrings(Dialect dialect)

  Description copied from interface: `PersistentIdentifierGenerator`
  The SQL required to create the underlying database objects.

  Specified by:
    `sqlCreateStrings` in interface `PersistentIdentifierGenerator`
  Returns:
    String[]

### sqlDropStrings

    public String[] sqlDropStrings(Dialect dialect)

  Description copied from interface: `PersistentIdentifierGenerator`
  The SQL required to remove the underlying database objects.

  Specified by:
    `sqlDropStrings` in interface `PersistentIdentifierGenerator`
  Returns:
    String

### generatorKey

    public Object generatorKey()

  Description copied from interface: `PersistentIdentifierGenerator`
  Return a key unique to the underlying database objects. Prevents us from trying to create/remove them multiple times.

  Specified by:
    `generatorKey` in interface `PersistentIdentifierGenerator`
  Returns:
    Object an identifying key for this generator

### doWorkInCurrentTransaction

    public Serializable doWorkInCurrentTransaction(Connection conn,
                                                   String sql)
                                            throws SQLException

  Description copied from class: `TransactionHelper`
  The work to be done

  Specified by:
    `doWorkInCurrentTransaction` in class `TransactionHelper`
  Throws:
    `SQLException`

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