Hi Armin,

Thank you for your response. I am definitely setting the PK value. Perhaps something is setting it to null inside the store? I do not have access to the code right now, but will step through in a debugger tomorrow. Any other thoughts as to the cause?

Thanks,

Mike

On Wednesday, August 20, 2003, at 07:23 PM, Armin Waibel wrote:

Hi Michael,

- Inserting an object that does not have an autoincrement field
hmm, changes were made to SequenceManagerNativeImpl last 10 days,
but no changes in detecting autoincrement fields. Each pk field must
be set before storing or need an autoincrement attribute (set 'true') in
field-descriptor (default was 'false').


regards,
Armin

----- Original Message -----
From: "Michael Becke" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Wednesday, August 20, 2003 6:44 PM
Subject: Problem inserting object when using SequenceManagerNativeImpl


I just updated to the latest code from CVS and have come across a new
issue.  Here's the scenario:

  - Websphere 4.0 and DB2
  - Using SequenceManagerNativeImpl
  - Inserting an object that does not have an autoincrement field

All seems to work with Objects that have an autoincrement field.
Also,
the build I was using from about about a week ago did not have this
problem.

The stack trace and class descriptor are attach at the bottom.


Any suggstions would be appreciated.

Thanks,

Mike


Class descriptor:


<class-descriptor
     class="data.ojb.DivisionImpl"
     table="SQMS_FIELD.DIVISION">

     <field-descriptor
         name="divisionNumber"
         column="DIVISION_NO"
         jdbc-type="VARCHAR"
         primarykey="true"
         autoincrement="false"
     />
     <field-descriptor
         name="name"
         column="DIVISION_NAME"
         jdbc-type="VARCHAR"
     />
     <collection-descriptor
         name="brands"


collection- class="org.apache.ojb.broker.util.collections.RemovalAwareCol
lection"
         element-class-ref="data.ojb.BrandImpl">
     <inverse-foreignkey field-ref="divisionNumber"/>
     </collection-descriptor>
</class-descriptor>

Error stack trace:

[8/20/03 12:16:42:007 EDT] 13aeb72b SystemOut     U Field does not
support autoincrement, please check repository: null
org.apache.ojb.broker.util.sequence.SequenceManagerException: Field
does
not support autoincrement, please check repository: null
at

org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl.getLastIn s
ert(SequenceManagerNativeImpl.java:240)
at

org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl.afterStor e
(SequenceManagerNativeImpl.java:140)
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceB r
okerImpl.java:1969)
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroke r
Impl.java:1875)
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroke r
Impl.java:1833)
at

org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Delegating P
ersistenceBroker.java:171)
at

org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Delegating P
ersistenceBroker.java:171)
at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)
at

org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelo p
eTable.java:241)
at

org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java :
195)
at

org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.j a
va:334)
at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:646)
at

org.apache.ojb.odmg.J2EETransactionImpl.beforeCompletion(J2EETransactio n
Impl.java:160)
at

com.ibm.ejs.jts.jta.TransactionImpl.before_completion(TransactionImpl.j a
va:966)
at

com.ibm.ejs.jts.jts.CoordinatorImpl$Sync.beforePrepare(CoordinatorImpl. j
ava:692)
at

com.ibm.ejs.jts.tran.EventCallback.executeCallback(EventCallback.java:1 6
6)
at

com.ibm.ejs.jts.tran.EventCallback.executeCallbackTree(EventCallback.ja v
a:132)
at

com.ibm.ejs.jts.tran.EventPrepare.ExecuteBeforePrepareCallbacks(EventPr e
pare.java:297)
at

com.ibm.ejs.jts.tran.EventPrepare.event_LocalPrepareWork(EventPrepare.j a
va:277)
at

com.ibm.ejs.jts.tran.EventPrepare.event_BecomeCoordinator(EventPrepare. j
ava:960)
at

com.ibm.ejs.jts.tran.EventControl.event_EndTopLevel(EventControl.java:2 9
5)
at com.ibm.ejs.jts.tran.TrecInterface.end(TrecInterface.java:88)
at com.ibm.ejs.jts.jts.TerminatorImpl.commit(TerminatorImpl.java:89)
at com.ibm.ejs.jts.jts.CurrentImpl.commit(CurrentImpl.java:200)
at com.ibm.ejs.jts.jts.CurrentSet.commit(CurrentSet.java:256)
at com.ibm.ejs.jts.jts.Current.commit(Current.java:71)
at

com.ibm.ejs.jts.jta.UserTransactionImpl.commit(UserTransactionImpl.java :
182)

rethrown as org.apache.ojb.broker.PersistenceBrokerException: Field
does
not support autoincrement, please check repository: null
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceB r
okerImpl.java:1976)
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroke r
Impl.java:1875)
at

org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroke r
Impl.java:1833)
at

org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Delegating P
ersistenceBroker.java:171)
at

org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Delegating P
ersistenceBroker.java:171)
at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)
at

org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelo p
eTable.java:241)
at

org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java :
195)
at

org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.j a
va:334)
at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:646)
at

org.apache.ojb.odmg.J2EETransactionImpl.beforeCompletion(J2EETransactio n
Impl.java:160)
at

com.ibm.ejs.jts.jta.TransactionImpl.before_completion(TransactionImpl.j a
va:966)
at

com.ibm.ejs.jts.jts.CoordinatorImpl$Sync.beforePrepare(CoordinatorImpl. j
ava:692)
at

com.ibm.ejs.jts.tran.EventCallback.executeCallback(EventCallback.java:1 6
6)
at

com.ibm.ejs.jts.tran.EventCallback.executeCallbackTree(EventCallback.ja v
a:132)
at

com.ibm.ejs.jts.tran.EventPrepare.ExecuteBeforePrepareCallbacks(EventPr e
pare.java:297)
at

com.ibm.ejs.jts.tran.EventPrepare.event_LocalPrepareWork(EventPrepare.j a
va:277)
at

com.ibm.ejs.jts.tran.EventPrepare.event_BecomeCoordinator(EventPrepare. j
ava:960)
at

com.ibm.ejs.jts.tran.EventControl.event_EndTopLevel(EventControl.java:2 9
5)
at com.ibm.ejs.jts.tran.TrecInterface.end(TrecInterface.java:88)
at com.ibm.ejs.jts.jts.TerminatorImpl.commit(TerminatorImpl.java:89)
at com.ibm.ejs.jts.jts.CurrentImpl.commit(CurrentImpl.java:200)
at com.ibm.ejs.jts.jts.CurrentSet.commit(CurrentSet.java:256)
at com.ibm.ejs.jts.jts.Current.commit(Current.java:71)
at

com.ibm.ejs.jts.jta.UserTransactionImpl.commit(UserTransactionImpl.java :
182)


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to