Yeah, you are free to create as many ObjectContexts as you need. That's what they are for - to provide you an isolated "area" for editing your objects without messing up anything else.
When modifying objects I often use contexts that are request-scoped, or even limited in scope to a single method that gets the objects, changes them, commits (and then the context goes out of scope and is garbage collected). And like Mike said, in your case you need a regular top-level context, not a nested context. Andrus On Apr 19, 2013, at 4:20 PM, Mike Kienenberger <[email protected]> wrote: > If you create a second non-child data context, then it should work > just as you desire. > Both contexts commit to the database independent of each other. > > On Fri, Apr 19, 2013 at 4:14 PM, Markus Reich > <[email protected]> wrote: >> I tried, but it is not possible to commit data locally in a child context! >> I just can commitToParent :-( >> >> >> 2013/4/19 Marc A. Donis <[email protected]> >> >>> I think what you need is a child context. See CayenneRuntime.getContext(* >>> *DataChannel <http://cayenne.apache.org/**docs/3.1/api/org/apache/** >>> cayenne/DataChannel.html<http://cayenne.apache.org/docs/3.1/api/org/apache/cayenne/DataChannel.html>> >>> parentChannel) >>> >>> >>> >>> On 19/4/2013 21:49, Markus Reich wrote: >>> >>>> Hi, >>>> >>>> is it possible to create a second context to make an atomic update to an >>>> object not disturbing the main context? >>>> >>>> e.g. >>>> in the application you can change data in a fom, there are two buttons >>>> "save" and "revert" >>>> by the way the user can add comments to the form, when he clicks add >>>> comment a popup opens he can enter a text and this text should be saved, >>>> but when I do a commit, the data changes in the form are also commited :-( >>>> >>>> regards >>>> Meex >>>> >>>> >>> >> >> >> -- >> *Markus Reich* >> Moosbach 28/2 >> 6392 St. Jakob i.H. >> www.markusreich.at / www.meeximum.at >> [email protected] >
