You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2013/01/22 15:00:13 UTC

[jira] [Created] (OPENJPA-2325) MappedSuperClass without an @Id causes wrong identity type for the inherited types

Pinaki Poddar created OPENJPA-2325:
--------------------------------------

             Summary: MappedSuperClass without an @Id causes wrong identity type for the inherited types
                 Key: OPENJPA-2325
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2325
             Project: OpenJPA
          Issue Type: Bug
          Components: kernel
    Affects Versions: 2.3.0
            Reporter: Pinaki Poddar
            Assignee: Pinaki Poddar
             Fix For: 2.3.0


A MappedSuperClass without a declared identity field can cause the derived classes that have decalred an @Id field to be wrongly using DATASTORE identity type because the identity type of its superclass being UNKNOWN leads the derived type to use the default identity type, which for JPA faced is set to DATASTORE. 
The suggested change modifies the logic of ClassMetaData while detecting the identity type whether it is an abstract (i.e. MappedSuperClass). Also introduced a change that distinguishes whether the identity type was ever evaluated versus whether identity type  is indeterminable (i.e. UNKNOWN) which will  will save few  cycles for this commonly invoked operation. Previously for UNKNOWN type was indistinguishable from the case where identity type was never evaluated.   

--
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