Class OracleFactory
- java.lang.Object
-
- org.castor.cpa.persistence.sql.driver.BaseFactory
-
- org.castor.cpa.persistence.sql.driver.GenericFactory
-
- org.castor.cpa.persistence.sql.driver.OracleFactory
-
- All Implemented Interfaces:
PersistenceFactory
public final class OracleFactory extends GenericFactory
PersistenceFactoryfor Oracle 7/8 driver.- Version:
- $Revision: 8377 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Assaf Arkin
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFACTORY_NAME
-
Constructor Summary
Constructors Constructor Description OracleFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>adjustSqlType(java.lang.Class<?> sqlType)For INTEGER type ResultSet.getObject() returns BigDecimal: dependent objects with integer identity cause type conversion error (need to fix SimpleQueryExecutor).PersistenceQuerygetCallQuery(java.lang.String call, java.lang.Class<?>[] paramTypes, java.lang.Class<?> javaClass, java.lang.String[] fields, int[] sqlTypes)Needed to process OQL queries of "CALL" type (using stored procedure call).java.lang.StringgetFactoryName()Returns the name of this factory.QueryExpressiongetQueryExpression()Returns a new empty query expression suitable for the underlying SQL engine.java.lang.StringgetSequenceBeforeSelectString(java.lang.String seqName, java.lang.String tableName, int increment)Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.java.lang.StringgetSequenceNextValString(java.lang.String seqName)Returns the database engine specific string to fetch sequence next value.booleanisKeyGeneratorSequenceSupported(boolean returning, boolean trigger)Does persistence factory support generation of new key at the time of new object creation with sequence key generator?booleanisKeyGeneratorSequenceTypeSupported(int type)Does Sequence key generator support generation of key for the given SQL type?java.lang.StringquoteName(java.lang.String name)Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.-
Methods inherited from class org.castor.cpa.persistence.sql.driver.GenericFactory
doubleQuoteName, getIdentitySelectString, getSequenceAfterSelectString, isKeyGeneratorIdentitySupported, isKeyGeneratorIdentityTypeSupported
-
Methods inherited from class org.castor.cpa.persistence.sql.driver.BaseFactory
getKeyGenerator, getPersistence
-
-
-
-
Field Detail
-
FACTORY_NAME
public static final java.lang.String FACTORY_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getFactoryName
public java.lang.String getFactoryName()
Description copied from interface:PersistenceFactoryReturns the name of this factory. A descriptive name that indicates the type of supported database server or SQL syntax.- Specified by:
getFactoryNamein interfacePersistenceFactory- Overrides:
getFactoryNamein classGenericFactory- Returns:
- The name of this factory
-
getQueryExpression
public QueryExpression getQueryExpression()
Description copied from interface:PersistenceFactoryReturns a new empty query expression suitable for the underlying SQL engine. The implementation will construct SQL query statements in the preferred syntax.- Specified by:
getQueryExpressionin interfacePersistenceFactory- Overrides:
getQueryExpressionin classGenericFactory- Returns:
- New empty query expression
-
quoteName
public java.lang.String quoteName(java.lang.String name)
Description copied from interface:PersistenceFactoryReturns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.- Specified by:
quoteNamein interfacePersistenceFactory- Overrides:
quoteNamein classGenericFactory- Parameters:
name- The identifier (table, column, etc)- Returns:
- The quoted identifier
-
getCallQuery
public PersistenceQuery getCallQuery(java.lang.String call, java.lang.Class<?>[] paramTypes, java.lang.Class<?> javaClass, java.lang.String[] fields, int[] sqlTypes)
Needed to process OQL queries of "CALL" type (using stored procedure call). This feature is specific for JDO.- Specified by:
getCallQueryin interfacePersistenceFactory- Overrides:
getCallQueryin classBaseFactory- Parameters:
call- Stored procedure call (without "{call")paramTypes- The types of the query parametersjavaClass- The Java class of the query resultsfields- The field namessqlTypes- The field SQL types- Returns:
- null if this feature is not supported.
-
adjustSqlType
public java.lang.Class<?> adjustSqlType(java.lang.Class<?> sqlType)
For INTEGER type ResultSet.getObject() returns BigDecimal: dependent objects with integer identity cause type conversion error (need to fix SimpleQueryExecutor).- Specified by:
adjustSqlTypein interfacePersistenceFactory- Overrides:
adjustSqlTypein classBaseFactory- 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:GenericFactoryDoes persistence factory support generation of new key at the time of new object creation with sequence key generator?- Specified by:
isKeyGeneratorSequenceSupportedin interfacePersistenceFactory- Overrides:
isKeyGeneratorSequenceSupportedin classGenericFactory- Parameters:
returning- Return generated key value with insert statement?trigger- Use a database trigger to generate key?- Returns:
trueif persistence factory is able to generate key with sequence key generator,falseotherwise.
-
isKeyGeneratorSequenceTypeSupported
public boolean isKeyGeneratorSequenceTypeSupported(int type)
Does Sequence key generator support generation of key for the given SQL type?- Specified by:
isKeyGeneratorSequenceTypeSupportedin interfacePersistenceFactory- Overrides:
isKeyGeneratorSequenceTypeSupportedin classGenericFactory- Parameters:
type- SQL type to check for support by sequence key generator.- Returns:
trueif persistence factory is able to generate key of given SQL type with sequence key generator,falseotherwise.
-
getSequenceNextValString
public java.lang.String getSequenceNextValString(java.lang.String seqName)
Description copied from class:GenericFactoryReturns the database engine specific string to fetch sequence next value.- Specified by:
getSequenceNextValStringin interfacePersistenceFactory- Overrides:
getSequenceNextValStringin classGenericFactory- Parameters:
seqName- Name of the sequence.- Returns:
- String to fetch sequence next value.
-
getSequenceBeforeSelectString
public java.lang.String getSequenceBeforeSelectString(java.lang.String seqName, java.lang.String tableName, int increment)Description copied from class:GenericFactoryReturns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.- Specified by:
getSequenceBeforeSelectStringin interfacePersistenceFactory- Overrides:
getSequenceBeforeSelectStringin classGenericFactory- 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
-
-