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

Reply via email to