Dear folks at the transfer list,

Please help me with a tough issue.

I have a table structure as below (simplified transfer xml)

Contacts basically stores addresses of both persons and
organizations.
Each organization can be linked to several persons, whereas each
person can be linked to
several organizations.

A linking table is required, but it's not just a linking table, it
also stores information
describing the type of relationship between a person and an
organization and a number of other fields.
Therefore I can't use a manytomany.

The linking table links Contacts to Contacts.

This is my (simplified) transfer:

<object name="Contacts" table="contacts">

        <id name="IDContact" column="code" type="string" />
        ...

        <onetomany name="repr1">
                <link to="Representatives" column="IDPerson" />
                <collection type="struct">
                        <key property="IDRepresentative" />
                </collection>
        </onetomany>

        <onetomany name="repr2">
                <link to="Representatives" column="IDOrganization" />
                <collection type="struct">
                        <key property="IDRepresentative" />
                </collection>
        </onetomany>

</object>

<object name="Representatives" table="representatives">

        <id name="IDRepresentative" />
        <property name="IDPerson" />
        <property name="IDOrganization" />
        <property name="job" />
        ...

</object>

Since manytomany is not an option, I took two onetomany's. That's
going to return me 2 structs:

Contact.getRepr1Struct() and  Contact.getRepr1Struct().

Strangely, when IDContact links to IDPerson I get only one struct
containing Representative objects, but
when IDContact links to IDOrganization I get 2 identical structs.

Now I can live with that, with some conditional logic I could test to
see if at least one struct
is loaded and then take that struct.

But it just strikes me as odd, which could suggest that I am
completely going the wrong direction.

So I was wondering if anyone has an explanation for this behaviour, or
maybe another approach for these
self referencing many-to-many's.


Thanks,
Richard
--~--~---------~--~----~------------~-------~--~----~
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to