Oops! Spoke too soon. A google search for ObjectModifiedException pointed me to the 
right spot in the FAQ. I had a lot of date fields mapped to Oracle DATE fields which 
were probably the reason for this error. Th addition of dirty="ignore" did the trick. 
Oddly, a search of the message archives did not yield anything. Thanks anyway.

-----Original Message-----
From: Werner Guttmann [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, June 02, 2004 3:51 AM
To: [EMAIL PROTECTED]
Subject: Re: [castor-user] Unable to update any rows in db


Sunit,

which RDBMS are you using ? If you happen to be using mySQL, can you please post the 
mapping for RemovalCandidate ?

Thanks
Werner

On Tue, 1 Jun 2004 20:56:53 -0700, Kavathekar, Sunit wrote:

>
>I have a working castor intall which I can use to read and insert 
>objects. When I try any updates to any object at all, I get an 
>ObjectModifiedException
as follows:
>
>6871 [main] ERROR 
>com.amazon.invhealth.disposition.dispsitionchannels.marketplace.tests.T
>estMarketplaceDataManipulator  - Persistence
Exception in executeDispositionDecision from JDO layer
>org.exolab.castor.jdo.ObjectModifiedException: Transaction aborted: 
>Object of type 
>com.amazon.invhealth.disposition.dataentities.RemovalCandidate
with identity 1,335,206,261 has been modified by a concurrent transaction (cache entry 
is different from database row)
>       at org.exolab.castor.jdo.engine.SQLEngine.store(SQLEngine.java:880)
>       at org.exolab.castor.persist.ClassMolder.store(ClassMolder.java:1609)
>       at org.exolab.castor.persist.LockEngine.store(LockEngine.java:750)
>       at 
> org.exolab.castor.persist.TransactionContext.prepare(TransactionContext.java:1540)
>       at org.exolab.castor.jdo.engine.DatabaseImpl.commit(DatabaseImpl.java:512)
>       at
>
>
>The code is simple enough - load an object and modify it then commit.
>
>               try {
>
>            // Define the JDO object
>            db = MarketplaceChannelDataAccessor._db;
>            // Begin a transaction
>            db.begin();
>            // Do something
>            RemovalCandidate rc = 
> (RemovalCandidate)db.load(RemovalCandidate.class,new Long(1335206261L));
>            rc.setQuantity(0);
>            rc.setOriginalBinItemQuantity(0);
>            rc.setRefundAmount(0);
>            rc.setRemovalReasonNotes("Test for disposition service");
>
>            db.commit();
>
>        } catch (PersistenceException e) {
>            Logger.getLogger(this.getClass()).error("Persistence Exception in 
> executeDispositionDecision from JDO layer", e);
>            try {
>                //dbConn.rollback();
>                db.rollback();
>            } catch (PersistenceException eSQL) {
>                Logger.getLogger(this.getClass()).error("Persistence Exception during 
> txn rollback from JDO layer", eSQL);
>            }
>        }
>       
>       
>
>Any help in this matter will be greatly appreciated.
>
>
>Thanks,
>Sunit
>
>Thanks,
>Sunit
>
>



-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a 
subject of:
        unsubscribe castor-user

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-user

Reply via email to