What you describe is not functioning the way I would've expected (or
at least hoped). I did some testing on nested ECs before and ran into
a few glitches, but never completely isolated the reason why.
/dev/mrg
On Tue, Mar 4, 2008 at 12:24 PM, Kevin Menard <kmenar..ervprise.com> wrote:
> Hi,
>
> This seems like such a basic question that I probably shouldnıt have to ask,
> but I want to verify intended behavior versus a bug. Since Cayenne doesnıt
> allow one to associate two data objects from distinct contexts, we use local
> object.
>
> So, I have something similar to the following:
>
> ObjectContext customerContext;
> Customer customer = customerContext.newObject(Customer.class);
>
> ObjectContext childContext = customerContext.createChildDataContext();
> BillingInfo bi = childContext.newObject(BillingInfo.class);
>
> The bi instance is created in its own context so that if the user doesnıt
> commit the page, I can toss the data without affecting the customer context.
> If the user does save the form, then I want to do something like
> bi.setCustomer(customer); However, theyıre in different contexts, so that
> doesnıt work. Additionally, bi has relationships to other entities in
> childContext. So, in this case, I use localObject to pull customer into
> childContext, set the relationship, commit, and go on my merry way.
>
> The problem is that calling customer.getBillingInfo() now returns billing
> info associated with the child context. I thought that they would be HOLLOW
> objects resolved with the customerıs context, but it appears due to caching
> I now have a situation that Cayenne normally wonıt allow: two related
> objects in different contexts.
>
> Is this the way itıs supposed to work for child contexts or have I run into
> a bug? Either way, Iıll need to fix it. I just need to know which codebase
> to work with.
>
> Thanks,
> Kevin
>
This archive was generated by hypermail 2.0.0 : Tue Mar 04 2008 - 12:35:39 EST