You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Craig L Russell <Cr...@Sun.COM> on 2005/10/15 01:00:20 UTC
Re: [Jdo Wiki] Update of "MappingCollections" by MichelleCaisse
Hi,
Just one comment. When mapping using PC key, serialized-key doesn't
make sense. (In fact, I wonder why it's in the spec. except for
completeness).
Craig
On Oct 14, 2005, at 2:20 PM, Apache Wiki wrote:
> Dear Wiki user,
>
> You have subscribed to a wiki page or wiki category on "Jdo Wiki"
> for change notification.
>
> The following page has been changed by MichelleCaisse:
> http://wiki.apache.org/jdo/MappingCollections
>
> ----------------------------------------------------------------------
> --------
> == Maps of Persistence Capable (PC) Types ==
>
> - These are maps where either the key or value is a PC type. We
> test the following cases:
> + These are maps where either the key or value is a PC type. We
> test the following cases, assuming a String key and PC value:
> * Collection field is serialized in the main table ('''s''')
> - * Both key and value are embedded in a join table, the PC member
> of the mapped pair is mapped to a foreign key to a secondary table
> ('''efk''')
> + * String key is embedded in a join table; the PC value is mapped
> to a foreign key column in the join table. The fk references the
> primary key of the table containing the PC. ('''efk''') (default)
> - * PC key or value is serialized in a join table, the non-PC
> member of the mapped pair is stored in another column of the join
> table ('''es''')
> + * PC value is serialized in a join table, the String key of the
> mapped pair is stored in another column of the join table. ('''es''')
> + * PC value and String key are embedded in a join table. ('''ee''')
>
> == Maps of Java Types ==
> - These are maps where both key and value are Java types. We test
> the following cases:
> + These are maps where the key is a String and the value is a Java
> type, for example Date, Locale, Integer. We test the following cases:
> * Collection field is serialized in the main table ('''s''')
> - * Both key and value are embedded in a join table ('''efk''')
> + * Both key and value are embedded in a join table ('''ee''')
>
> == Metadata for Maps ==
> The metadata for these cases, assuming the key is a String and
> the value is a PC type, is:
> ||case||jdo metadata||orm metadata||
> ||s|| <field serialized="true">|| <field name="''name''">||
> - ||efk|| <map embedded-key="true" embedded-value="true">|| <field
> name="''name''" table="''join_table''">||
> + ||efk|| <map embedded-key="true" embedded-value="false">|| <field
> name="''name''" table="''join_table''">||
> ||es|| <map embedded-key="true" serialized-value="true">|| <field
> name="''name''" table="''join_table''">||
> + ||ee|| <map embedded-key="true" embedded-value="true">|| <field
> name="''name''" table="''join_table''">||
>
>