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]>