[ 
https://issues.apache.org/jira/browse/OPENJPA-386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12595067#action_12595067
 ] 

Thomas Sandor commented on OPENJPA-386:
---------------------------------------

Matthew,
We have the same problem (and situation for storing @Version). It's great that 
I found this entry.

Here's a workaround that worked for me:
@MappedSuperclass
@IdClass(Object.class)

This way PCEnhancer will enhance the superclassed entities with their special 
@IdClass().

However, normally it should work without this extra line (Hibernate does not 
need that).
Please vote for this bug to be solved in the next release.

> org.apache.openjpa.meta.ClassMetaData.validateAppIdClass() does not take 
> @MappedSuperclass into account
> -------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-386
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-386
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 0.9.7, 1.0.0
>         Environment: BEA WebLogic 10.0 under Windows XP SP1
>            Reporter: Matthew L. Schwickerath
>
> We have a @MappedSuperclass that is the base for all of our entity bean 
> classes.  This class contains the @Version (and @Column for the version 
> field) that all of our entity beans use.  But, in 
> ClassMetaData.validateAppIdClass(), if an entity bean class has a superclass, 
> and the entity bean has an @IdClass, it expects that superclass to have an 
> @IdClass also.  All of our entity beans have an @IdClass (even if they only 
> have a single part key), but our @MappedSuperclass does not have an @IdClass. 
>  This scenario works under JBoss 4.2.0 and Sun AS 9, but produces a 
> NullPointerException in OpenJPA at:
>         if (_super != null) {
>             // concrete superclass oids must match or be parent of ours
>             ClassMetaData sup = getPCSuperclassMetaData();
>             if (!sup.getObjectIdType().isAssignableFrom(_objectId))  // <--- 
> NullPointerException here

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to