Hi Josh,

 

Unfortunately the LC DS does not yet derive its annotation configuration
from the hibernate configuration.  This is on our list but in the
meantime you need to also have annotation configuration in the
data-management-config.xml file.  In the metadata section of the config
for each destination, you basically just need a one-to-many or whatever
tag that corresponds to each association in your hibernate model which
you want to treat as a managed association.  This is also where you
configure LC DS's lazy="true/false" flag which controls whether the
references are sent by id or by value when the parent item is sent to
the client. 

 

Jeff

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Joshua Garnett
Sent: Friday, October 19, 2007 11:44 AM
To: [email protected]
Subject: Re: [flexcoders] LCDS/Hibernate DataServices Issue

 

Hi Jeff,

Yes we have the association tags in place.  We are using Hibernate
Annotations and have this Annotation:
@ManyToOne(optional=false,fetch=FetchType.LAZY)
Object referenceToB;

I should note that this doesn't occur in all cases.  For instance item 0
in collectionA works correctly, all references from collectionC items to
collectionB items work correctly, but item 1 in collectionA fails, all
collectionC's referenceToBs are not actual references they are
duplicates. 

We have a destination for each of the different collections.


--Josh




On 10/18/07, Jeff Vroom < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
wrote:

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: [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED] ups.com
<http://ups.com> ] On Behalf Of Joshua Garnett
Sent: Thursday, October 18, 2007 6:54 AM
To: [email protected]
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