[ 
https://issues.apache.org/jira/browse/JDO-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Jefferson updated JDO-702:
-------------------------------

    Attachment: JDO-702.patch

Patch that
* adds DiscriminatorMetadata to EmbeddedMetadata
* adds <discriminator> subelement to <embedded> in DTD/XSD
* adds Discriminator member to @Embedded.
                
> Support for specification of embedded inherited objects
> -------------------------------------------------------
>
>                 Key: JDO-702
>                 URL: https://issues.apache.org/jira/browse/JDO-702
>             Project: JDO
>          Issue Type: New Feature
>          Components: api, specification, tck
>            Reporter: Andy Jefferson
>         Attachments: JDO-702.patch
>
>
> While JDO2+ allows specification of embedded objects stored with primary 
> objects, it doesn't have any specific way of specifying the embedded object 
> as being inherited and how you would persist it. In particular there is no 
> way to define a discriminator (column) for the embedded object. If we have an 
> example from the JDO spec, and if we have a subclass of Address as also 
> persistable, then we need to specify the discriminator for "primaryAddress" 
> field.
> <class name="Employee" table="EMP">
>     ...
>     <!-- field type is Address -->
>     <field name="primaryAddress">
>         <embedded null-indicator-column="PADDR_STREET">
>             <discriminator column="PADDR_DISCRIM"/>
>             <field name="street" column="PADDR_STREET"/>
>             <field name="city" column="PADDR_CITY"/>
>             <field name="state" column="PADDR_STATE"/>
>             <field name="zip" column="PADDR_ZIPCODE"/>
>         </embedded>
>     </field>
> </class>
> So the XSD/DTD need updates to allow <discriminator> under <embedded>, the 
> JDO Metadata API needs to allow this also, and the @Embedded annotation needs 
> a "discriminator" attribute adding.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to