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