db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig L Russell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JDO-702) Support for specification of embedded inherited objects
Date Fri, 26 Oct 2012 16:01:12 GMT

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

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

The specification update for this feature is brief. Chapter 18 under Embedded. Anything else
needed?

"The optional discriminator attribute specifies the column to be used as the discriminator
for the embedded object. "
                
> 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

Mime
View raw message