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:* [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]> 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:* [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
>
>
>
>
>
>
>
>
>
>
>