On Sunday, January 19, 2003 at 06:27:51 (-0600) Bill Lear writes:
>In the FAQ it says that under the ODMG API, "Objects are registered to
>a transaction so that on commit of the transaction it knows" to
>properly store modified elements.
>
>I'm having trouble even getting the first stage of this accomplished.

Sorry, forgot to provide a complete description of the error.  Here's
a sample run:

[0] List all product entries
[1] Enter a new product
[2] Edit a product entry
[3] Delete a product entry
[4] Quit Application
type in number to select a use case
1
please enter a new product
enter name: pants
enter price: 12.95
enter discount: 5
enter available stock: 500
enter product category: clothing
enter product category: farm wear
enter product category: spoingo
enter product category:


DBMS:MySQL
DRIVER: org.gjt.mm.mysql.Driver
PROTOCOL: jdbc
SUBPROTOCOL: mysql
DBALIAS: //localhost:3906/ojb
USERNAME: test
PASSWORD: test
EAGER RELEASE: false
pool configuration was: {whenExhaustedAction=0, maxIdle=-1, maxActive=21, 
maxWait=5000, numTestsPerEvictionRun=10, testWhileIdle=false, testOnReturn=false, 
timeBetweenEvictionRunsMillis=-1, minEvictableIdleIimeMillis=600000, testOnBorrow=true}

[org.apache.ojb.broker.accesslayer.JdbcAccess] ERROR: SQLException during the 
execution of the insert (for a org.apache.ojb.tutorial2.ProductCategoryName): Invalid 
argument value: Duplicate entry '1' for key 1
Invalid argument value: Duplicate entry '1' for key 1
java.sql.SQLException: Invalid argument value: Duplicate entry '1' for key 1
        at org.gjt.mm.mysql.MysqlIO.sendCommand(Unknown Source)
        at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(Unknown Source)

        ... [intermediate trace removed for space]

        at org.apache.ojb.tutorial2.UCEnterNewProduct.apply(UCEnterNewProduct.java:69)
        at org.apache.ojb.tutorial2.Application.run(Application.java:108)
        at org.apache.ojb.tutorial2.Application.main(Application.java:79)
[org.apache.ojb.odmg.ObjectEnvelopeTable] ERROR: Commit on object level failed for tx 
org.apache.ojb.odmg.TransactionImpl@4a6cbf
Invalid argument value: Duplicate entry '1' for key 1
java.sql.SQLException: Invalid argument value: Duplicate entry '1' for key 1
        at org.gjt.mm.mysql.MysqlIO.sendCommand(Unknown Source)
        at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(Unknown Source)

        ... [intermediate trace removed for space]

        at org.apache.ojb.tutorial2.UCEnterNewProduct.apply(UCEnterNewProduct.java:69)
        at org.apache.ojb.tutorial2.Application.run(Application.java:108)
        at org.apache.ojb.tutorial2.Application.main(Application.java:79)
rethrown as org.apache.ojb.broker.PersistenceBrokerSQLException: Invalid argument 
value: Duplicate entry '1' for key 1
        at 
org.apache.ojb.broker.accesslayer.JdbcAccess.executeInsert(JdbcAccess.java:214)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1966)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1905)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1853)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1843)
        at 
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:129)
        at org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:147)
        at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:189)
        at 
org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:317)
        at org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:566)
        at org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:516)
        at org.apache.ojb.tutorial2.UCEnterNewProduct.apply(UCEnterNewProduct.java:69)
        at org.apache.ojb.tutorial2.Application.run(Application.java:108)
        at
        org.apache.ojb.tutorial2.Application.main(Application.java:79)

        .. more trace removed
[org.apache.ojb.odmg.TransactionImpl] INFO: Abort transaction was called on tx 
org.apache.ojb.odmg.TransactionImpl@4a6cbf, associated PB was null
null

Apologies for forgetting this.


Bill

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

Reply via email to