Class PostgreSQLFactory
java.lang.Object
org.castor.cpa.persistence.sql.driver.BaseFactory
org.castor.cpa.persistence.sql.driver.GenericFactory
org.castor.cpa.persistence.sql.driver.PostgreSQLFactory
- All Implemented Interfaces:
PersistenceFactory
PersistenceFactory for postgreSQL JDBC driver.- Version:
- $Revision: 8377 $ $Date: 2006-02-21 16:05:42 -0700 (Tue, 21 Feb 2006) $
- Author:
- Assaf Arkin
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringInternal name for thisPersistenceFactoryinstance. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<?> adjustSqlType(Class<?> sqlType) Some databases has some problems with some SQL types.getCallQuery(String call, Class<?>[] paramTypes, Class<?> javaClass, String[] fields, int[] sqlTypes) Needed to process OQL queries of "CALL" type (using stored procedure call).Returns the name of this factory.getIdentitySelectString(String tableName, String columnName) Returns the database specific query string for retrieving last identity value.Returns a new empty query expression suitable for the underlying SQL engine.getSequenceAfterSelectString(String seqName, String tableName) Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.getSequenceBeforeSelectString(String seqName, String tableName, int increment) Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.booleanDoes persistence factory support generation of unique keys with identity key generator?booleanisKeyGeneratorIdentityTypeSupported(int type) Does identity key generator support generation of unique keys for the given SQL type?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?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, getSequenceNextValStringMethods inherited from class org.castor.cpa.persistence.sql.driver.BaseFactory
getKeyGenerator, getPersistence
-
Field Details
-
FACTORY_NAME
Internal name for thisPersistenceFactoryinstance.- See Also:
-
-
Constructor Details
-
PostgreSQLFactory
public PostgreSQLFactory()
-
-
Method Details
-
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
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
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(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:
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
Description copied from class:BaseFactorySome databases has some problems with some SQL types. Usually it is enough to merely replace one SQL type by another.- 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.
-
isKeyGeneratorIdentitySupported
public boolean isKeyGeneratorIdentitySupported()Description copied from class:GenericFactoryDoes persistence factory support generation of unique keys with identity key generator?- Specified by:
isKeyGeneratorIdentitySupportedin interfacePersistenceFactory- Overrides:
isKeyGeneratorIdentitySupportedin classGenericFactory- Returns:
trueif persistence factory is able to generate unique keys with identity key generator,falseotherwise.
-
isKeyGeneratorIdentityTypeSupported
public boolean isKeyGeneratorIdentityTypeSupported(int type) Description copied from class:GenericFactoryDoes identity key generator support generation of unique keys for the given SQL type?- Specified by:
isKeyGeneratorIdentityTypeSupportedin interfacePersistenceFactory- Overrides:
isKeyGeneratorIdentityTypeSupportedin classGenericFactory- Parameters:
type- SQL type to check for support by identity key generator.- Returns:
trueif persistence factory is able to generate unique keys of given SQL type with identity key generator,falseotherwise.
-
getIdentitySelectString
Description copied from class:GenericFactoryReturns the database specific query string for retrieving last identity value.- Specified by:
getIdentitySelectStringin interfacePersistenceFactory- Overrides:
getIdentitySelectStringin classGenericFactory- Parameters:
tableName- Name of the table from which identity needs to be fetched.columnName- Name of the column from which identity needs to be fetched.- Returns:
- SQL Query string for fetching the identity value.
-
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.
-
getSequenceBeforeSelectString
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
-
getSequenceAfterSelectString
Description copied from class:GenericFactoryReturns the database specific SELECT query string for fetching identity after the INSERT statement executed.- Specified by:
getSequenceAfterSelectStringin interfacePersistenceFactory- Overrides:
getSequenceAfterSelectStringin classGenericFactory- Parameters:
seqName- Name of sequence.tableName- Name of the table from which identity will be fetched.- Returns:
- SELECT sql string
-