org.apache.ojb.broker.util.sequence
Class SequenceManagerNativeImpl
java.lang.Object
org.apache.ojb.broker.util.sequence.AbstractSequenceManager
org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl
- All Implemented Interfaces:
- SequenceManager
public class SequenceManagerNativeImpl
- extends AbstractSequenceManager
Sequence manager implementation using native database Identity columns
(like MySQL, MSSQL, ...). For proper work some specific metadata settings
needed:
- field representing the identity column need attribute
autoincrement 'true'
- field representing the identity column need attribute
access set 'readonly'
- field representing the identity column need attribute
primarykey set 'true'
- only possible to declare one identity field per class
Note:
Make sure that the DB generated identity columns represent values > 0, because negative values
intern used by this implementation and 0 could cause problems with primitive FK fields.
Implementation configuration properties:
| Property Key |
Property Values |
| no properties to set |
|
Limitations:
- Native key generation is not 'extent aware'
when extent classes span several tables! Please
see more in shipped docs 'extents and polymorphism'
or sequence manager docs.
-
Only positive identity values are allowed (see above).
- Version:
- $Id: SequenceManagerNativeImpl.java,v 1.1 2007-08-24 22:17:29 ewestfal Exp $
- Author:
- Travis Reeder, Armin Waibel
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SequenceManagerNativeImpl
public SequenceManagerNativeImpl(PersistenceBroker broker)
afterStore
public void afterStore(JdbcAccess dbAccess,
ClassDescriptor cld,
Object obj)
throws SequenceManagerException
- Description copied from class:
AbstractSequenceManager
- noop
- Specified by:
afterStore in interface SequenceManager- Overrides:
afterStore in class AbstractSequenceManager
- Parameters:
dbAccess - Current used JdbcAccess instancecld - Descriptor for specified objectobj - The object to associate with identity value
- Throws:
SequenceManagerException
lastInsertSelect
protected String lastInsertSelect(String tableName)
getUniqueLong
protected long getUniqueLong(FieldDescriptor field)
throws SequenceManagerException
- returns a negative value
- Specified by:
getUniqueLong in class AbstractSequenceManager
- Throws:
SequenceManagerException
Copyright © 2004-2012 The Kuali Foundation. All Rights Reserved.