org.springframework.jdbc.core.metadata

## Class OracleTableMetaDataProvider

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

- All Implemented Interfaces:
    TableMetaDataProvider

      public class OracleTableMetaDataProvider
      extends GenericTableMetaDataProvider

  Oracle-specific implementation of the `TableMetaDataProvider`. Supports a feature for including synonyms in the metadata lookup. Also supports lookup of current schema using the sys_context.

  Thanks to Mike Youngstrom and Bruce Campbell for submitting the original suggestion for the Oracle current schema lookup implementation.

  Since:
    3.0
  Author:
    Thomas Risberg, Juergen Hoeller

- - ### Field Summary

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

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData)`
    `OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData, boolean includeSynonyms)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `getDefaultSchema()` Provide access to default schema for subclasses.
    `void` | `initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName)` Initialize using provided database metadata, table and column information.

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

      `catalogNameToUse, getDatabaseVersion, getNativeJdbcExtractor, getSimpleQueryForGetGeneratedKey, getTableParameterMetaData, initializeWithMetaData, isGeneratedKeysColumnNameArraySupported, isGetGeneratedKeysSimulated, 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

    - #### OracleTableMetaDataProvider

          public OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData)
                                      throws SQLException

      Throws:
        `SQLException`

    - #### OracleTableMetaDataProvider

          public OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData,
                                     boolean includeSynonyms)
                                      throws SQLException

      Throws:
        `SQLException`

  - ### Method Detail

    - #### getDefaultSchema

          protected String getDefaultSchema()

      Description copied from class: `GenericTableMetaDataProvider`
      Provide access to default schema for subclasses.
      Overrides:
        `getDefaultSchema` in class `GenericTableMetaDataProvider`

    - #### initializeWithTableColumnMetaData

          public void initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData,
                                               String catalogName,
                                               String schemaName,
                                               String tableName)
                                                 throws SQLException

      Description copied from interface: `TableMetaDataProvider`
      Initialize using provided database metadata, table and column information. This initalization can be turned off by specifying that column meta data should not be used.
      Specified by:
        `initializeWithTableColumnMetaData` in interface `TableMetaDataProvider`
      Overrides:
        `initializeWithTableColumnMetaData` in class `GenericTableMetaDataProvider`
      Parameters:
        `databaseMetaData` - used to retrieve database specific information
        `catalogName` - name of catalog to use or null
        `schemaName` - name of schema name to use or null
        `tableName` - name of the table
      Throws:
        `SQLException`