JPQL queries do not support queries on a MappedSuperclass
---------------------------------------------------------

                 Key: OPENJPA-1043
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1043
             Project: OpenJPA
          Issue Type: Bug
          Components: jpa
    Affects Versions: 1.2.1
            Reporter: Jeremy Bauer


This issue was reported by Jim Weaver via a nabble user forum post[1].  The JPA 
specification clearly states that queries upon a mapped superclass are not 
permitted, but the OpenJPA documentation has a note saying that they are 
supported[2].

Given:
@MappedSuperclass class A { }
@Entity class B extends A { }
@Entity class C extends A { }

I found that:

a) The em.find(A.class, id) operation does indeed allow the use of mapped 
superclass. OpenJPA issues a select upon tables B and C looking for a matching 
ID.
b) A JPQL query does not:  SELECT a FROM A a  fails with exception: (as 
reported by Jim)

I receive error message "An error occurred while parsing the query filter
"SELECT a FROM A a".  Error message:   The name "A" is not a recognized
entity or identifier.  Perhaps you meant B, which is a close match.  Known
entity names: [B, C]"

I attempted the same test with the OpenJPA base 1.0 provider and it failed with 
the same error so it doesn't look like this was ever supported via. JPQL.

If the decision is made not to provide this support in the near future, the 
documentation should be updated to qualify that mapped superclass is only allow 
on a find.

[1] 
http://n2.nabble.com/Can%27t-query-against-a-MappedSuperclass-tp2665700p2665700.html
[2] 
http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_overview_meta_embeddablesuper

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