cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Lewis <br...@maine.rr.com>
Subject Re: DataContext synchronization bug ?
Date Wed, 30 Aug 2006 13:46:05 GMT
I see what you're saying now.   You're right, the call to localObject()
doesn't copy the changes map for the object.  Merely setting the
persistenceState to MODIFIED won't cause a database commit, nor will a
phantom change like setting an attribute to its current value.  Cayenne
will efficiently see that there are no real changes and will generate no
SQL.  I'd say the docs are a little misleading here... "you are
responsible for setting correct persistence state" suggests that
setPersistenceState() is a solution.

I see a comment in http://issues.apache.org/cayenne/browse/CAY-380:

  "Current implementation still doesn't do a good job in merging data
into dirty objects, but it is a start. Will see how it pans out."

And there's this line in the source code:

  // TODO: Andrus, 1/24/2006 implement smart merge for modified objects...

You could try entering a new issue in JIRA.


Jonathan BĂ©lisle wrote:
> I printed the list of updated objects and my object is there with the
> persistance state to MODIFIED.
> And I am committing the right dataContext : dataContext2
>
> Event then, committing one or the other data context should write the
> changes to the database.
>


Mime
View raw message