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

Andy Jefferson closed JDO-702.
------------------------------

> 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
>    Affects Versions: JDO 3 (3.0)
>            Reporter: Andy Jefferson
>            Assignee: Craig L Russell
>             Fix For: JDO 3.1-rc1
>
>         Attachments: JDO-702-test.patch, 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 was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to