[
https://issues.apache.org/jira/browse/JDO-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181973#comment-13181973
]
Andy Jefferson commented on JDO-702:
------------------------------------
Sure, but what form does this testcase take? I was thinking of a simple
subclass of Address, however a change to the company model seems to imply
creating duplicated interfaces and implementations across various packages ...
not just company, but also companyAnnotatedFC, companyAnnotated JPA,
companyAnnotatedPC, companyAnnotatedPI etc. All I want is a subclass and a way
of instantiating it (e.g CompanyFactory.newXXXAddress), without having to dup
it many times. What is the minimum that this company model will accept ?
> 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