You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Yves De Moor (JIRA)" <ji...@apache.org> on 2017/09/25 10:02:00 UTC

[jira] [Commented] (OPENJPA-2477) parsing error when package name contains "type"

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

Yves De Moor commented on OPENJPA-2477:
---------------------------------------

Hitting same bug.

We have a package containing the word "type" and getting same error with OpenJPA version 2.4.2

Caused by: <openjpa-2.4.2-r422266:1777108 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: Encountered "type" at character 47, but expected: [<IDENTIFIER>].
        at org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:13188)
        at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:13064)
        at org.apache.openjpa.kernel.jpql.JPQL.identification_variable(JPQL.java:6548)
        at org.apache.openjpa.kernel.jpql.JPQL.classname(JPQL.java:1204)
        at org.apache.openjpa.kernel.jpql.JPQL.constructor_expression(JPQL.java:1163)
        at org.apache.openjpa.kernel.jpql.JPQL.select_expression(JPQL.java:992)
        at org.apache.openjpa.kernel.jpql.JPQL.select_expressions(JPQL.java:930)
        at org.apache.openjpa.kernel.jpql.JPQL.select_clause(JPQL.java:865)
        at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:87)
        at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63)
        at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:2428)
        at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:2415)
        at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:48)
        ... 218 more

> parsing error when package name contains "type"
> -----------------------------------------------
>
>                 Key: OPENJPA-2477
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2477
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.2.2
>            Reporter: Jakob Braeuchi
>
> i have a strange problem with a select new query: 
> "Encountered "type" at character 23, but expected: [<IDENTIFIER>]." while parsing JPQL 
> "select new ch.brj.ekv.type.Auswertung$EinkauferBetrag(p.kauf.einkaufer.id, p.kauf.einkaufer.name, SUM(p.betrag)) from Posten p where... 
> when i change the name of the package to ch.brj.ekv.pojo the query works. it looks like if type is some kind of a keyword for openJPA. the same query works in Hibernate and Eclipselink 
> stacktrace: 
> <openjpa-2.2.2-r422266:1468616 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: "Encountered "type" at character 23, but expected: [<IDENTIFIER>]." while parsing JPQL "select new ch.brj.ekv.type.KaufShort(k.id, k.datum, k.einkaufer.name, SUM(p.betrag)) from Kauf k, in(k.posten) p where k.lastupdate between :von and :bis group by k.id, k.datum, k.einkaufer.name order by k.datum asc". See nested stack trace for original parse error. 
>         at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) 
>         at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:154) 
>         at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:672) 
>         at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654) 
>         at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620) 
>         at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682) 
>         at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:589) 
> <openjpa-2.2.2-r422266:1468616 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: "Encountered "type" at character 23, but expected: [<IDENTIFIER>]." while parsing JPQL "select new ch.brj.ekv.type.KaufShort(k.id, k.datum, k.einkaufer.name, SUM(p.betrag)) from Kauf k, in(k.posten) p where k.lastupdate between :von and :bis group by k.id, k.datum, k.einkaufer.name order by k.datum asc". See nested stack trace for original parse error. 
>         at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:51) 
>         at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:154) 
>         at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:672) 
>         at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654) 
>         at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620) 
>         at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682) 
>         at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:589) 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)