openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <>
Subject [jira] [Commented] (OPENJPA-2325) MappedSuperClass without an @Id causes wrong identity type for the inherited types
Date Tue, 22 Jan 2013 14:32:12 GMT


Pinaki Poddar commented on OPENJPA-2325:

The problem surfaces when an instance of the derived class (using application identity) created
via new operator is merged while an instance with the same identity value exists. 
> MappedSuperClass without an @Id causes wrong identity type for the inherited types
> ----------------------------------------------------------------------------------
>                 Key: OPENJPA-2325
>                 URL:
>             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:

View raw message