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