You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2011/01/12 23:38:46 UTC

[jira] Resolved: (OPENJPA-1613) Exception thrown when enhancing a (property access) class that has an abstract @MappedSuperclass with no annotated properties

     [ https://issues.apache.org/jira/browse/OPENJPA-1613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick resolved OPENJPA-1613.
-----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.0.2)

Last code change was in April. If there's more to be done we'll open another issue. 

> Exception thrown when enhancing a (property access) class that has an abstract @MappedSuperclass with no annotated properties
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1613
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1613
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 2.0.0-beta2, 2.0.0-beta3
>            Reporter: Simon Droscher
>            Assignee: Jeremy Bauer
>             Fix For: 2.1.0
>
>         Attachments: abstract-subclass.patch, OPENJPA-1613-failing-code-changes.diff, OPENJPA-1613-tests.diff
>
>
> If you have a class (using property access) that has an abstract @MappedSuperclass that happens to have no annotated methods, you get the following exception when enhancing:
> org.apache.openjpa.util.MetaDataException: "implicit property access" for class "org.apache.openjpa.persistence.simple.SubclassPerson" is not consistent with "implicit field access" used by its persistent superclass "org.apache.openjpa.persistence.simple.AbstractSuperclass".  All persistent classes in an inheritance hierarchy must use a single implicit field or property based access style or explicitly declare an access style.
> Presumably the enhancer is deciding incorrectly that the superclass is using field access. A workaround is to annotate the superclass with @Access(AccessType.PROPERTY)  so the enhancer doesn't make this assumption, but that is not JPA 1.0 backwards compatible.
> This did not occur in any of the OpenJPA 1.* versions

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