Hi Jeff, We also have the relationship specified in our data-management-config.xmlfile. Here is what it looks like with names changed to correspond to my above example:
<destination id="collectionC"> <adapter ref="java-adapter"/> <properties> <source>collectionCAssembler</source> <factory>spring</factory> <cache-items>true</cache-items> <metadata> <identity property="id" type="java.lang.Integer" undefined-value="0" /> <many-to-one property="referenceToB" destination="collectionB" lazy="true" /> </metadata> <network> <paging enabled="true" /> <throttle-inbound policy="IGNORE" max-frequency="500" /> <throttle-outbound policy="IGNORE" max-frequency="500" /> </network> <auto-sync-enabled>false</auto-sync-enabled> </properties> </destination> --Josh On 10/19/07, Jeff Vroom <[EMAIL PROTECTED]> wrote: > > 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:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On > Behalf Of *Joshua Garnett > *Sent:* Friday, October 19, 2007 11:44 AM > *To:* flexcoders@yahoogroups.com > *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]> 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] *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 > > > > > > > > > > >