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
>
>
>
>
>
>
>
>
>
>  
>

Reply via email to