Re: Timestamp in JPQL where clause issue
Pinaki, Yes ,you're right. Thanks! Yu Wang On Mon, Jul 27, 2009 at 8:32 PM, Pinaki Poddar wrote: > > Hi, > Can you please change the parameter name "from" to something else? > The error is during parse and may have be related to the fact that "from" is > a reserved word in JPQL. > > > > - > Pinaki > -- > View this message in context: > http://n2.nabble.com/Timestamp-in-JPQL-where-clause-issue-tp3332190p550.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. >
Re: Timestamp in JPQL where clause issue
Hi, Can you please change the parameter name "from" to something else? The error is during parse and may have be related to the fact that "from" is a reserved word in JPQL. - Pinaki -- View this message in context: http://n2.nabble.com/Timestamp-in-JPQL-where-clause-issue-tp3332190p550.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: Timestamp in JPQL where clause issue
And I used OpenJPA 1.2.1. -Yu Wang On Mon, Jul 27, 2009 at 2:20 PM, wang yu wrote: > Hello, > I met an OpenJPA Timestamp filed in JPQL where clause issue. > I used it as: > EntityManagerFactory factory = > Persistence.createEntityManagerFactory( > "test", System.getProperties()); > String sql= "SELECT callpath FROM Callpath callpath WHERE > callpath.starttime > :from"; > Query query = factory.createEntityManager().createQuery(sql); > query.setParameter("from", new > Timestamp(System.currentTimeMillis()), TemporalType.TIMESTAMP); > query.getResultList(); > > The Exception stack: > > org.apache.openjpa.persistence.ArgumentException: Encountered > "callpath . starttime > : from" at character 46, but expected: ["(", > "*", "+", "-", ".", "/", ":", "<", "<=", "<>", "=", ">", ">=", "?", > "ABS", "ALL", "AND", "ANY", "AS", "ASC", "AVG", "BETWEEN", "BOTH", > "BY", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", > "CURRENT_TIMESTAMP", "DELETE", "DESC", "DISTINCT", "EMPTY", "ESCAPE", > "EXISTS", "FETCH", "FROM", "GROUP", "HAVING", "IN", "INNER", "IS", > "JOIN", "LEADING", "LEFT", "LENGTH", "LIKE", "LOCATE", "LOWER", "MAX", > "MEMBER", "MIN", "MOD", "NEW", "NOT", "NULL", "OBJECT", "OF", "OR", > "ORDER", "OUTER", "SELECT", "SET", "SIZE", "SOME", "SQRT", > "SUBSTRING", "SUM", "TRAILING", "TRIM", "UPDATE", "UPPER", "WHERE", > , , , ]. > at > org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:9501) > at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:9378) > at > org.apache.openjpa.kernel.jpql.JPQL.conditional_primary(JPQL.java:1947) > at > org.apache.openjpa.kernel.jpql.JPQL.conditional_factor(JPQL.java:1925) > at org.apache.openjpa.kernel.jpql.JPQL.conditional_term(JPQL.java:1791) > at > org.apache.openjpa.kernel.jpql.JPQL.conditional_expression(JPQL.java:1753) > at org.apache.openjpa.kernel.jpql.JPQL.where_clause(JPQL.java:1556) > at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:91) > at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1740) > at > org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.(JPQLExpressionBuilder.java:1727) > at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:48) > at > org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:149) > at > org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:657) > at > org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:625) > at > org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:605) > at > org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:667) > at > org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1492) > at > org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123) > at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:243) > at > org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:294) > > And I noticed a bug track: > http://mail-archives.apache.org/mod_mbox/openjpa-dev/200801.mbox/%3c2013506.1200781234450.javamail.j...@brutus%3e > > Has it been resolved? Or do I have a workaround? > > Thanks! > > Regards, > Yu Wang >
Timestamp in JPQL where clause issue
Hello, I met an OpenJPA Timestamp filed in JPQL where clause issue. I used it as: EntityManagerFactory factory = Persistence.createEntityManagerFactory( "test", System.getProperties()); String sql= "SELECT callpath FROM Callpath callpath WHERE callpath.starttime > :from"; Query query = factory.createEntityManager().createQuery(sql); query.setParameter("from", new Timestamp(System.currentTimeMillis()), TemporalType.TIMESTAMP); query.getResultList(); The Exception stack: org.apache.openjpa.persistence.ArgumentException: Encountered "callpath . starttime > : from" at character 46, but expected: ["(", "*", "+", "-", ".", "/", ":", "<", "<=", "<>", "=", ">", ">=", "?", "ABS", "ALL", "AND", "ANY", "AS", "ASC", "AVG", "BETWEEN", "BOTH", "BY", "CONCAT", "COUNT", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "DELETE", "DESC", "DISTINCT", "EMPTY", "ESCAPE", "EXISTS", "FETCH", "FROM", "GROUP", "HAVING", "IN", "INNER", "IS", "JOIN", "LEADING", "LEFT", "LENGTH", "LIKE", "LOCATE", "LOWER", "MAX", "MEMBER", "MIN", "MOD", "NEW", "NOT", "NULL", "OBJECT", "OF", "OR", "ORDER", "OUTER", "SELECT", "SET", "SIZE", "SOME", "SQRT", "SUBSTRING", "SUM", "TRAILING", "TRIM", "UPDATE", "UPPER", "WHERE", , , , ]. at org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:9501) at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:9378) at org.apache.openjpa.kernel.jpql.JPQL.conditional_primary(JPQL.java:1947) at org.apache.openjpa.kernel.jpql.JPQL.conditional_factor(JPQL.java:1925) at org.apache.openjpa.kernel.jpql.JPQL.conditional_term(JPQL.java:1791) at org.apache.openjpa.kernel.jpql.JPQL.conditional_expression(JPQL.java:1753) at org.apache.openjpa.kernel.jpql.JPQL.where_clause(JPQL.java:1556) at org.apache.openjpa.kernel.jpql.JPQL.select_statement(JPQL.java:91) at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:63) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1740) at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.(JPQLExpressionBuilder.java:1727) at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:48) at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:149) at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:657) at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:625) at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:605) at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:667) at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1492) at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:243) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:294) And I noticed a bug track: http://mail-archives.apache.org/mod_mbox/openjpa-dev/200801.mbox/%3c2013506.1200781234450.javamail.j...@brutus%3e Has it been resolved? Or do I have a workaround? Thanks! Regards, Yu Wang