org.springframework.jdbc.core.metadata

## Class PostgresTableMetaDataProvider

- java.lang.Object
- - org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider
  - - org.springframework.jdbc.core.metadata.PostgresTableMetaDataProvider

All Implemented Interfaces:
  TableMetaDataProvider

    public class PostgresTableMetaDataProvider
    extends GenericTableMetaDataProvider

The PostgreSQL specific implementation of the `TableMetaDataProvider`. Suports a feature for retreiving generated keys without the JDBC 3.0 getGeneratedKeys support.

Since:
  2.5
Author:
  Thomas Risberg

### Field Summary

### Fields inherited from class org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider

`logger`

### Constructor Summary

Constructors
Constructor and Description
`PostgresTableMetaDataProvider(DatabaseMetaData databaseMetaData)`

### Method Summary

Methods
`String` `getSimpleQueryForGetGeneratedKey(String tableName, String keyColumnName)` Get the simple query to retrieve a generated key
`boolean` `isGetGeneratedKeysSimulated()` Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported `DatabaseMetaData.supportsGetGeneratedKeys()`

### Methods inherited from class org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider

`catalogNameToUse, getDatabaseVersion, getDefaultSchema, getNativeJdbcExtractor, getTableParameterMetaData, initializeWithMetaData, initializeWithTableColumnMetaData, isGeneratedKeysColumnNameArraySupported, isGetGeneratedKeysSupported, isStoresLowerCaseIdentifiers, isStoresUpperCaseIdentifiers, isTableColumnMetaDataUsed, metaDataCatalogNameToUse, metaDataSchemaNameToUse, schemaNameToUse, setGeneratedKeysColumnNameArraySupported, setGetGeneratedKeysSupported, setNativeJdbcExtractor, setStoresLowerCaseIdentifiers, setStoresUpperCaseIdentifiers, tableNameToUse`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PostgresTableMetaDataProvider

    public PostgresTableMetaDataProvider(DatabaseMetaData databaseMetaData)
                                  throws SQLException

Throws:
  `SQLException`

### Method Detail

#### isGetGeneratedKeysSimulated

    public boolean isGetGeneratedKeysSimulated()

Description copied from interface: `TableMetaDataProvider`
Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported `DatabaseMetaData.supportsGetGeneratedKeys()`

Specified by:
  `isGetGeneratedKeysSimulated` in interface `TableMetaDataProvider`
Overrides:
  `isGetGeneratedKeysSimulated` in class `GenericTableMetaDataProvider`

#### getSimpleQueryForGetGeneratedKey

    public String getSimpleQueryForGetGeneratedKey(String tableName,
                                          String keyColumnName)

Description copied from interface: `TableMetaDataProvider`
Get the simple query to retrieve a generated key

Specified by:
  `getSimpleQueryForGetGeneratedKey` in interface `TableMetaDataProvider`
Overrides:
  `getSimpleQueryForGetGeneratedKey` in class `GenericTableMetaDataProvider`