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)