org.apache.cayenne.dba.oracle
Class OracleAdapter

java.lang.Object
  extended by org.apache.cayenne.dba.JdbcAdapter
      extended by org.apache.cayenne.dba.oracle.OracleAdapter
All Implemented Interfaces:
DbAdapter
Direct Known Subclasses:
Oracle8Adapter

public class OracleAdapter
extends JdbcAdapter

DbAdapter implementation for Oracle RDBMS . Sample connection settings to use with Oracle are shown below:

          test-oracle.jdbc.username = test
          test-oracle.jdbc.password = secret
          test-oracle.jdbc.url = jdbc:oracle:thin:@//192.168.0.20:1521/ora1 
          test-oracle.jdbc.driver = oracle.jdbc.driver.OracleDriver
 


Field Summary
protected static boolean initDone
           
static java.lang.String NEW_BLOB_FUNCTION
           
static java.lang.String NEW_CLOB_FUNCTION
           
static java.lang.String ORACLE_BLOB
           
static java.lang.String ORACLE_CLOB
           
static java.lang.String ORACLE_FLOAT
           
protected static int oracleCursorType
           
protected static boolean supportsOracleLOB
           
static java.lang.String TRIM_FUNCTION
           
 
Fields inherited from class org.apache.cayenne.dba.JdbcAdapter
batchQueryBuilderFactory, caseInsensitiveCollations, CI_PROPERTY, ejbqlTranslatorFactory, extendedTypes, identifiersEndQuote, identifiersStartQuote, logger, resourceLocator, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler
 
Constructor Summary
OracleAdapter(RuntimeProperties runtimeProperties, java.util.List<ExtendedType> defaultExtendedTypes, java.util.List<ExtendedType> userExtendedTypes, java.util.List<ExtendedTypeFactory> extendedTypeFactories)
           
 
Method Summary
 void bindParameter(java.sql.PreparedStatement statement, java.lang.Object object, int pos, int sqlType, int scale)
          Binds an object value to PreparedStatement's numbered parameter.
 DbAttribute buildAttribute(java.lang.String name, java.lang.String typeName, int type, int size, int scale, boolean allowNulls)
          Fixes some reverse engineering problems.
protected  void configureExtendedTypes(ExtendedTypeMap map)
          Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.
protected  EJBQLTranslatorFactory createEJBQLTranslatorFactory()
          Creates and returns an EJBQLTranslatorFactory used to generate visitors for EJBQL to SQL translations.
protected  PkGenerator createPkGenerator()
          Creates and returns a primary key generator.
 java.util.Collection<java.lang.String> dropTableStatements(DbEntity table)
          Returns a query string to drop a table corresponding to ent DbEntity.
 SQLAction getAction(Query query, DataNode node)
          Uses OracleActionBuilder to create the right action.
static int getOracleCursorType()
          Returns an Oracle JDBC extension type defined in oracle.jdbc.driver.OracleTypes.CURSOR.
 QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
          Returns a trimming translator.
protected static void initDriverInformation()
           
static boolean isSupportsOracleLOB()
           
 MergerFactory mergerFactory()
           
 
Methods inherited from class org.apache.cayenne.dba.JdbcAdapter
createFkConstraint, createTable, createTableAppendColumn, createTableAppendPKClause, createUniqueConstraint, externalTypesForJdbcType, findResource, getBatchQueryBuilderFactory, getBatchTerminator, getEjbqlTranslatorFactory, getExtendedTypes, getIdentifiersEndQuote, getIdentifiersStartQuote, getJdbcEventLogger, getPkGenerator, getQuotingStrategy, initExtendedTypes, initIdentifiersQuotes, setBatchQueryBuilderFactory, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForTable, tableTypeForView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ORACLE_FLOAT

public static final java.lang.String ORACLE_FLOAT
See Also:
Constant Field Values

ORACLE_BLOB

public static final java.lang.String ORACLE_BLOB
See Also:
Constant Field Values

ORACLE_CLOB

public static final java.lang.String ORACLE_CLOB
See Also:
Constant Field Values

TRIM_FUNCTION

public static final java.lang.String TRIM_FUNCTION
See Also:
Constant Field Values

NEW_CLOB_FUNCTION

public static final java.lang.String NEW_CLOB_FUNCTION
See Also:
Constant Field Values

NEW_BLOB_FUNCTION

public static final java.lang.String NEW_BLOB_FUNCTION
See Also:
Constant Field Values

initDone

protected static boolean initDone

oracleCursorType

protected static int oracleCursorType

supportsOracleLOB

protected static boolean supportsOracleLOB
Constructor Detail

OracleAdapter

public OracleAdapter(RuntimeProperties runtimeProperties,
                     java.util.List<ExtendedType> defaultExtendedTypes,
                     java.util.List<ExtendedType> userExtendedTypes,
                     java.util.List<ExtendedTypeFactory> extendedTypeFactories)
Method Detail

initDriverInformation

protected static void initDriverInformation()

isSupportsOracleLOB

public static boolean isSupportsOracleLOB()

getOracleCursorType

public static int getOracleCursorType()
Returns an Oracle JDBC extension type defined in oracle.jdbc.driver.OracleTypes.CURSOR. This value is determined from Oracle driver classes via reflection in runtime, so that Cayenne code has no compile dependency on the driver. This means that calling this method when the driver is not available will result in an exception.


createEJBQLTranslatorFactory

protected EJBQLTranslatorFactory createEJBQLTranslatorFactory()
Description copied from class: JdbcAdapter
Creates and returns an EJBQLTranslatorFactory used to generate visitors for EJBQL to SQL translations. This method should be overriden by subclasses that need to customize EJBQL generation.

Overrides:
createEJBQLTranslatorFactory in class JdbcAdapter
Since:
3.0

configureExtendedTypes

protected void configureExtendedTypes(ExtendedTypeMap map)
Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.

Overrides:
configureExtendedTypes in class JdbcAdapter

createPkGenerator

protected PkGenerator createPkGenerator()
Creates and returns a primary key generator. Overrides superclass implementation to return an instance of OraclePkGenerator.

Overrides:
createPkGenerator in class JdbcAdapter

dropTableStatements

public java.util.Collection<java.lang.String> dropTableStatements(DbEntity table)
Returns a query string to drop a table corresponding to ent DbEntity. Changes superclass behavior to drop all related foreign key constraints.

Specified by:
dropTableStatements in interface DbAdapter
Overrides:
dropTableStatements in class JdbcAdapter
Since:
3.0

bindParameter

public void bindParameter(java.sql.PreparedStatement statement,
                          java.lang.Object object,
                          int pos,
                          int sqlType,
                          int scale)
                   throws java.sql.SQLException,
                          java.lang.Exception
Description copied from interface: DbAdapter
Binds an object value to PreparedStatement's numbered parameter.

Specified by:
bindParameter in interface DbAdapter
Overrides:
bindParameter in class JdbcAdapter
Throws:
java.sql.SQLException
java.lang.Exception

buildAttribute

public DbAttribute buildAttribute(java.lang.String name,
                                  java.lang.String typeName,
                                  int type,
                                  int size,
                                  int scale,
                                  boolean allowNulls)
Fixes some reverse engineering problems. Namely if a columns is created as DECIMAL and has non-positive precision it is converted to INTEGER.

Specified by:
buildAttribute in interface DbAdapter
Overrides:
buildAttribute in class JdbcAdapter
Parameters:
name - database column name
typeName - database specific type name, may be used as a hint to determine the right JDBC type.
type - JDBC column type
size - database column size (ignored if less than zero)
scale - database column scale, i.e. the number of decimal digits (ignored if less than zero)
allowNulls - database column nullable parameter

getQualifierTranslator

public QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
Returns a trimming translator.

Specified by:
getQualifierTranslator in interface DbAdapter
Overrides:
getQualifierTranslator in class JdbcAdapter

getAction

public SQLAction getAction(Query query,
                           DataNode node)
Uses OracleActionBuilder to create the right action.

Specified by:
getAction in interface DbAdapter
Overrides:
getAction in class JdbcAdapter
Since:
1.2

mergerFactory

public MergerFactory mergerFactory()
Specified by:
mergerFactory in interface DbAdapter
Overrides:
mergerFactory in class JdbcAdapter


Copyright © 2001-2012 Apache Cayenne. All Rights Reserved.