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


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