Class OracleFactory

All Implemented Interfaces:
PersistenceFactory

public final class OracleFactory extends GenericFactory
PersistenceFactory for Oracle 7/8 driver.
Version:
$Revision: 8377 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Assaf Arkin
  • Field Details

  • Constructor Details

    • OracleFactory

      public OracleFactory()
  • Method Details

    • getFactoryName

      public String getFactoryName()
      Description copied from interface: PersistenceFactory
      Returns the name of this factory. A descriptive name that indicates the type of supported database server or SQL syntax.
      Specified by:
      getFactoryName in interface PersistenceFactory
      Overrides:
      getFactoryName in class GenericFactory
      Returns:
      The name of this factory
    • getQueryExpression

      public QueryExpression getQueryExpression()
      Description copied from interface: PersistenceFactory
      Returns a new empty query expression suitable for the underlying SQL engine. The implementation will construct SQL query statements in the preferred syntax.
      Specified by:
      getQueryExpression in interface PersistenceFactory
      Overrides:
      getQueryExpression in class GenericFactory
      Returns:
      New empty query expression
    • quoteName

      public String quoteName(String name)
      Description copied from interface: PersistenceFactory
      Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.
      Specified by:
      quoteName in interface PersistenceFactory
      Overrides:
      quoteName in class GenericFactory
      Parameters:
      name - The identifier (table, column, etc)
      Returns:
      The quoted identifier
    • getCallQuery

      public PersistenceQuery getCallQuery(String call, Class<?>[] paramTypes, Class<?> javaClass, String[] fields, int[] sqlTypes)
      Needed to process OQL queries of "CALL" type (using stored procedure call). This feature is specific for JDO.
      Specified by:
      getCallQuery in interface PersistenceFactory
      Overrides:
      getCallQuery in class BaseFactory
      Parameters:
      call - Stored procedure call (without "{call")
      paramTypes - The types of the query parameters
      javaClass - The Java class of the query results
      fields - The field names
      sqlTypes - The field SQL types
      Returns:
      null if this feature is not supported.
    • adjustSqlType

      public Class<?> adjustSqlType(Class<?> sqlType)
      For INTEGER type ResultSet.getObject() returns BigDecimal: dependent objects with integer identity cause type conversion error (need to fix SimpleQueryExecutor).
      Specified by:
      adjustSqlType in interface PersistenceFactory
      Overrides:
      adjustSqlType in class BaseFactory
      Parameters:
      sqlType - The correspondent Java class for the SQL type in mapping.xml
      Returns:
      The correspondent Java class for the SQL type that should be used instead.
    • isKeyGeneratorSequenceSupported

      public boolean isKeyGeneratorSequenceSupported(boolean returning, boolean trigger)
      Description copied from class: GenericFactory
      Does persistence factory support generation of new key at the time of new object creation with sequence key generator?
      Specified by:
      isKeyGeneratorSequenceSupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorSequenceSupported in class GenericFactory
      Parameters:
      returning - Return generated key value with insert statement?
      trigger - Use a database trigger to generate key?
      Returns:
      true if persistence factory is able to generate key with sequence key generator, false otherwise.
    • isKeyGeneratorSequenceTypeSupported

      public boolean isKeyGeneratorSequenceTypeSupported(int type)
      Does Sequence key generator support generation of key for the given SQL type?
      Specified by:
      isKeyGeneratorSequenceTypeSupported in interface PersistenceFactory
      Overrides:
      isKeyGeneratorSequenceTypeSupported in class GenericFactory
      Parameters:
      type - SQL type to check for support by sequence key generator.
      Returns:
      true if persistence factory is able to generate key of given SQL type with sequence key generator, false otherwise.
    • getSequenceNextValString

      public String getSequenceNextValString(String seqName)
      Description copied from class: GenericFactory
      Returns the database engine specific string to fetch sequence next value.
      Specified by:
      getSequenceNextValString in interface PersistenceFactory
      Overrides:
      getSequenceNextValString in class GenericFactory
      Parameters:
      seqName - Name of the sequence.
      Returns:
      String to fetch sequence next value.
    • getSequenceBeforeSelectString

      public String getSequenceBeforeSelectString(String seqName, String tableName, int increment)
      Description copied from class: GenericFactory
      Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.
      Specified by:
      getSequenceBeforeSelectString in interface PersistenceFactory
      Overrides:
      getSequenceBeforeSelectString in class GenericFactory
      Parameters:
      seqName - Name of sequence.
      tableName - Name of the table from which identity will be fetched.
      increment - Increment value used in Interbase database engine.
      Returns:
      SELECT sql string