[ 
https://issues.apache.org/jira/browse/JDO-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13485065#comment-13485065
 ] 

Craig L Russell commented on JDO-702:
-------------------------------------

A bit more descriptive for Chapter 18:

The optional discriminator attribute specifies the column to be used as the 
discriminator for the embedded object. This column would be used in case the 
type of the embedded object has subclasses.

And in 15.4:

Mapping embedded objects supports inheritance . In this case, the discriminator 
attribute would specify the discriminator strategy.

svn 1402590

                
> 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 maintenance release 1 (3.1)
>
>         Attachments: JDO-702.patch, JDO-702-test.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
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to