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.cayenne.adapter = org.apache.cayenne.dba.oracle.OracleAdapter
          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 String NEW_BLOB_FUNCTION
           
static String NEW_CLOB_FUNCTION
           
static String ORACLE_BLOB
           
static String ORACLE_CLOB
           
static String ORACLE_FLOAT
           
protected static int oracleCursorType
           
protected static Method outputStreamFromBlobMethod
           
protected static boolean supportsOracleLOB
           
static String TRIM_FUNCTION
           
protected static Method writerFromClobMethod
           
 
Fields inherited from class org.apache.cayenne.dba.JdbcAdapter
ejbqlTranslatorFactory, extendedTypes, identifiersEndQuote, identifiersStartQuote, pkGenerator, supportsBatchUpdates, supportsFkConstraints, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler
 
Constructor Summary
OracleAdapter()
           
 
Method Summary
 void bindParameter(PreparedStatement statement, Object object, int pos, int sqlType, int scale)
          Binds an object value to PreparedStatement's numbered parameter.
 DbAttribute buildAttribute(String name, 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.
 Collection<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.
static Method getOutputStreamFromBlobMethod()
          Deprecated. since 3.0, as a generic BLOB method is used to write BLOBs.
 QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
          Returns a trimming translator.
static Method getWriterFromClobMethod()
          Deprecated. since 3.0, as a generic CLOB method is used to write CLOBs.
protected static void initDriverInformation()
           
static boolean isSupportsOracleLOB()
           
 MergerFactory mergerFactory()
           
 
Methods inherited from class org.apache.cayenne.dba.JdbcAdapter
createFkConstraint, createTable, createTableAppendColumn, createTableAppendPKClause, createUniqueConstraint, dropTable, externalTypesForJdbcType, findAdapterResource, findResource, getBatchTerminator, getEjbqlTranslatorFactory, getExtendedTypes, getIdentifiersEndQuote, getIdentifiersStartQuote, getPkGenerator, getQuotingStrategy, initIdentifiersQuotes, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsFkConstraints, setSupportsGeneratedKeys, setSupportsUniqueConstraints, supportsBatchUpdates, supportsFkConstraints, 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 String ORACLE_FLOAT
See Also:
Constant Field Values

ORACLE_BLOB

public static final String ORACLE_BLOB
See Also:
Constant Field Values

ORACLE_CLOB

public static final String ORACLE_CLOB
See Also:
Constant Field Values

TRIM_FUNCTION

public static final String TRIM_FUNCTION
See Also:
Constant Field Values

NEW_CLOB_FUNCTION

public static final String NEW_CLOB_FUNCTION
See Also:
Constant Field Values

NEW_BLOB_FUNCTION

public static final String NEW_BLOB_FUNCTION
See Also:
Constant Field Values

initDone

protected static boolean initDone

oracleCursorType

protected static int oracleCursorType

outputStreamFromBlobMethod

protected static Method outputStreamFromBlobMethod

writerFromClobMethod

protected static Method writerFromClobMethod

supportsOracleLOB

protected static boolean supportsOracleLOB
Constructor Detail

OracleAdapter

public OracleAdapter()
Method Detail

initDriverInformation

protected static void initDriverInformation()

getOutputStreamFromBlobMethod

@Deprecated
public static Method getOutputStreamFromBlobMethod()
Deprecated. since 3.0, as a generic BLOB method is used to write BLOBs.


isSupportsOracleLOB

public static boolean isSupportsOracleLOB()

getWriterFromClobMethod

@Deprecated
public static Method getWriterFromClobMethod()
Deprecated. since 3.0, as a generic CLOB method is used to write CLOBs.


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 Collection<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(PreparedStatement statement,
                          Object object,
                          int pos,
                          int sqlType,
                          int scale)
                   throws SQLException,
                          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:
SQLException
Exception

buildAttribute

public DbAttribute buildAttribute(String name,
                                  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-2011 Apache Cayenne. All Rights Reserved.