org.springframework.jdbc.core.metadata
Class OracleTableMetaDataProvider

java.lang.Object
  extended by org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider
      extended by 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
OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData)
           
OracleTableMetaDataProvider(DatabaseMetaData databaseMetaData, boolean includeSynonyms)
           
 
Method Summary
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