Do you have association tags (i.e. one-to-many) defined for the
collectionb and collectionc properties?  If you do not have an explicit
association tag defined, DMS uses the "hierarchical values" mode where
it still detect changes but treats that entire property more like a
"blob" which gets sent to/from the server in its entirety on each
operation.  It will not ensure that there is only one instance for each
identity so you can easily get aliasing problems.  In order to ensure
one instance for each identity, we need to know the identity property
for the instances in collectionb and c so that we can do the mapping
properly.  

 

Jeff

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Joshua Garnett
Sent: Thursday, October 18, 2007 6:54 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] LCDS/Hibernate DataServices Issue

 

Hello,

We've recently encountered a problem on a project I'm working on.  We
are using the Data Management Services to managed all of our persisted
objects.  It connects to our database via a customized Hibernate
assembler.  The issue we are seeing is that we have a series of
collections that point to each other and the references aren't being
maintained properly throughout the system. 

Example:

Each item in collectiona, has two properties collectionb and
collectionc.
The items in collectionc have a reference to an item in collectionb.

var itemB:Object = collectionb.getItemAt(0); 
var refItemB:object = collectionc.getItemAt(0).referenceToB;
itemB.id == refItemB.id

If at this point I make a change to itemB the corresponding object
refItemB is not changed.  They are identical objects on the server and
should always be the same on the client.  I can refresh my client and
the differences in the objects are still present.  It is not until I
close the session and re-login that refItemB is updated properly. 

Any thoughts on what we might be doing wrong or need to adjust?  Thanks,


--Josh










 

Reply via email to